diff --git a/interactions/models/discord/__init__.py b/interactions/models/discord/__init__.py index 25d479ca7..a2f409406 100644 --- a/interactions/models/discord/__init__.py +++ b/interactions/models/discord/__init__.py @@ -75,6 +75,7 @@ ApplicationFlags, TeamMembershipState, PremiumTypes, + MemberFlags, MessageTypes, MessageActivityTypes, MessageFlags, @@ -243,6 +244,7 @@ "PremiumTypes", "process_emoji", "process_emoji_req_format", + "MemberFlags", "MessageTypes", "MessageActivityTypes", "MessageFlags", diff --git a/interactions/models/discord/enums.py b/interactions/models/discord/enums.py index f42088f11..40ea73edd 100644 --- a/interactions/models/discord/enums.py +++ b/interactions/models/discord/enums.py @@ -12,6 +12,7 @@ "ApplicationFlags", "TeamMembershipState", "PremiumTypes", + "MemberFlags", "MessageTypes", "MessageActivityTypes", "MessageFlags", @@ -937,3 +938,10 @@ class AutoModLanuguageType(Enum): PROFANITY = "PROFANITY" SEXUAL = "SEXUAL_CONTENT" INSULTS_AND_SLURS = "SLURS" + + +class MemberFlags(DiscordIntFlag): + DID_REJOIN = 1 << 0 + COMPLETED_ONBOARDING = 1 << 1 + BYPASSES_VERIFICATION = 1 << 2 + STARTED_ONBOARDING = 1 << 3 diff --git a/interactions/models/discord/user.py b/interactions/models/discord/user.py index 0e8b86383..5609bf0f4 100644 --- a/interactions/models/discord/user.py +++ b/interactions/models/discord/user.py @@ -15,7 +15,7 @@ from interactions.models.discord.activity import Activity from interactions.models.discord.asset import Asset from interactions.models.discord.color import Color -from interactions.models.discord.enums import Permissions, PremiumTypes, UserFlags, Status +from interactions.models.discord.enums import Permissions, PremiumTypes, UserFlags, Status, MemberFlags from interactions.models.discord.file import UPLOADABLE_TYPE from interactions.models.discord.role import Role from interactions.models.discord.snowflake import Snowflake_Type @@ -253,6 +253,9 @@ class Member(DiscordObject, _SendDMMixin): nick: Optional[str] = attrs.field(repr=True, default=None, metadata=docs("The user's nickname in this guild'")) deaf: bool = attrs.field(repr=False, default=False, metadata=docs("Has this user been deafened in voice channels?")) mute: bool = attrs.field(repr=False, default=False, metadata=docs("Has this user been muted in voice channels?")) + flags: MemberFlags = attrs.field( + repr=False, default=0, converter=MemberFlags, metadata=docs("The flags associated with this guild member") + ) joined_at: "Timestamp" = attrs.field( repr=False, default=MISSING,