Skip to content

Commit 2e5dd38

Browse files
committed
feat: add and update new Discord enums
1 parent 5e53cc2 commit 2e5dd38

File tree

3 files changed

+53
-13
lines changed

3 files changed

+53
-13
lines changed

interactions/client/client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1843,7 +1843,7 @@ async def get_context(self, data: dict) -> InteractionContext[Self]:
18431843
cls = self.component_context.from_dict(self, data)
18441844
case InteractionType.AUTOCOMPLETE:
18451845
cls = self.autocomplete_context.from_dict(self, data)
1846-
case InteractionType.MODAL_RESPONSE:
1846+
case InteractionType.MODAL_SUBMIT:
18471847
cls = self.modal_context.from_dict(self, data)
18481848
case InteractionType.APPLICATION_COMMAND:
18491849
if data["data"].get("target_id"):
@@ -1988,7 +1988,7 @@ async def _dispatch_interaction(self, event: RawGatewayEvent) -> None: # noqa:
19881988
if component_type == ComponentType.STRING_SELECT:
19891989
self.dispatch(events.Select(ctx))
19901990

1991-
elif interaction_data["type"] == InteractionType.MODAL_RESPONSE:
1991+
elif interaction_data["type"] == InteractionType.MODAL_SUBMIT:
19921992
ctx = await self.get_context(interaction_data)
19931993
self.dispatch(events.ModalCompletion(ctx=ctx))
19941994

interactions/models/discord/enums.py

Lines changed: 48 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ class UserFlags(DiscordIntFlag): # type: ignore
321321

322322

323323
class ApplicationFlags(DiscordIntFlag): # type: ignore
324-
"""Flags an application can have."""
324+
"""Flags an application (bot) can have."""
325325

326326
# Flags defined by the Discord API
327327
GATEWAY_PRESENCE = 1 << 12
@@ -333,9 +333,15 @@ class ApplicationFlags(DiscordIntFlag): # type: ignore
333333
GATEWAY_GUILD_MEMBERS_LIMITED = 1 << 15
334334
"""Using members intent, without verification"""
335335
VERIFICATION_PENDING_GUILD_LIMIT = 1 << 16
336-
"""Bot has hit guild limit, and has not been successfully verified"""
336+
"""Application has hit guild limit, and has not been successfully verified"""
337337
EMBEDDED = 1 << 17
338338
"""Application is a voice channel activity (ie YouTube Together)"""
339+
GATEWAY_MESSAGE_CONTENT = 1 << 18
340+
"""Verified to use message content intent"""
341+
GATEWAY_MESSAGE_CONTENT_LIMITED = 1 << 19
342+
"""Using message content intent, without verification"""
343+
APPLICATION_COMMAND_BADGE = 1 << 23
344+
"""Application has registered global application commands (interaction commands)"""
339345

340346

341347
class TeamMembershipState(CursedIntEnum):
@@ -610,6 +616,8 @@ class Permissions(DiscordIntFlag): # type: ignore
610616
"""Allows user-installed applications to send public responses"""
611617
PIN_MESSAGES = 1 << 51
612618
"""Allows for pinning messages"""
619+
BYPASS_SLOWMODE = 1 << 52
620+
"""Allows for bypassing slowmode restrictions (applications are not affected by slowmode)"""
613621

614622
# Shortcuts/grouping/aliases
615623
REQUIRES_MFA = (
@@ -765,6 +773,8 @@ class CommandType(CursedIntEnum):
765773
"""A UI-based command that shows up when you right click or tap on a user"""
766774
MESSAGE = 3
767775
"""A UI-based command that shows up when you right click or tap on a message"""
776+
PRIMARY_ENTRY_POINT = 4
777+
"""A UI-based command that represents the primary way to invoke an app's Activity"""
768778

769779

770780
class InteractionType(CursedIntEnum):
@@ -774,7 +784,10 @@ class InteractionType(CursedIntEnum):
774784
APPLICATION_COMMAND = 2
775785
MESSAGE_COMPONENT = 3
776786
AUTOCOMPLETE = 4
777-
MODAL_RESPONSE = 5
787+
MODAL_SUBMIT = 5
788+
789+
MODAL_RESPONSE = MODAL_SUBMIT
790+
"""Alias for :attr:`MODAL_SUBMIT`"""
778791

779792

780793
class InteractionPermissionTypes(CursedIntEnum):
@@ -913,6 +926,10 @@ class SystemChannelFlags(DiscordIntFlag):
913926
"""Suppress server setup tips"""
914927
SUPPRESS_JOIN_NOTIFICATION_REPLIES = 1 << 3
915928
"""Hide member join sticker reply buttons"""
929+
SUPPRESS_ROLE_SUBSCRIPTION_PURCHASE_NOTIFICATIONS = 1 << 4
930+
"""Suppress role subscription purchase and renewal notifications"""
931+
SUPPRESS_ROLE_SUBSCRIPTION_PURCHASE_NOTIFICATION_REPLIES = 1 << 5
932+
"""Hide role subscription sticker reply buttons"""
916933

917934
# Special members
918935
NONE = 0
@@ -1096,33 +1113,45 @@ class AuditLogEventType(CursedIntEnum):
10961113
THREAD_UPDATE = 111
10971114
THREAD_DELETE = 112
10981115
APPLICATION_COMMAND_PERMISSION_UPDATE = 121
1116+
SOUNDBOARD_SOUND_CREATE = 130
1117+
SOUNDBOARD_SOUND_UPDATE = 131
1118+
SOUNDBOARD_SOUND_DELETE = 132
10991119
AUTO_MODERATION_RULE_CREATE = 140
11001120
AUTO_MODERATION_RULE_UPDATE = 141
11011121
AUTO_MODERATION_RULE_DELETE = 142
11021122
AUTO_MODERATION_BLOCK_MESSAGE = 143
11031123
AUTO_MODERATION_FLAG_TO_CHANNEL = 144
11041124
AUTO_MODERATION_USER_COMMUNICATION_DISABLED = 145
1105-
AUTO_MODERATION_QUARANTINE = 146
1125+
AUTO_MODERATION_QUARANTINE_USER = 146
11061126
CREATOR_MONETIZATION_REQUEST_CREATED = 150
11071127
CREATOR_MONETIZATION_TERMS_ACCEPTED = 151
11081128
ROLE_PROMPT_CREATE = 160
11091129
ROLE_PROMPT_UPDATE = 161
11101130
ROLE_PROMPT_DELETE = 162
1111-
ON_BOARDING_QUESTION_CREATE = 163
1112-
ON_BOARDING_QUESTION_UPDATE = 164
1131+
ONBOARDING_PROMPT_CREATE = 163
1132+
ONBOARDING_PROMPT_UPDATE = 164
1133+
ONBOARDING_PROMPT_DELETE = 165
1134+
ONBOARDING_CREATE = 166
11131135
ONBOARDING_UPDATE = 167
11141136
GUILD_HOME_FEATURE_ITEM = 171
11151137
GUILD_HOME_FEATURE_ITEM_UPDATE = 172
11161138
BLOCKED_PHISHING_LINK = 180
1117-
SERVER_GUIDE_CREATE = 190
1118-
SERVER_GUIDE_UPDATE = 191
1139+
HOME_SETTINGS_CREATE = 190
1140+
HOME_SETTINGS_UPDATE = 191
11191141
VOICE_CHANNEL_STATUS_CREATE = 192
11201142
VOICE_CHANNEL_STATUS_DELETE = 193
11211143
CLYDE_AI_PROFILE_UPDATE = 194
11221144
GUILD_SCHEDULED_EVENT_EXCEPTION_CREATE = 200
11231145
GUILD_SCHEDULED_EVENT_EXCEPTION_UPDATE = 201
11241146
GUILD_SCHEDULED_EVENT_EXCEPTION_DELETE = 202
11251147

1148+
AUTO_MODERATION_QUARANTINE = AUTO_MODERATION_QUARANTINE_USER
1149+
ON_BOARDING_QUESTION_CREATE = ONBOARDING_PROMPT_CREATE
1150+
ON_BOARDING_QUESTION_UPDATE = ONBOARDING_PROMPT_UPDATE
1151+
ON_BOARDING_QUESTION_DELETE = ONBOARDING_PROMPT_DELETE
1152+
SERVER_GUIDE_CREATE = HOME_SETTINGS_CREATE
1153+
SERVER_GUIDE_UPDATE = HOME_SETTINGS_UPDATE
1154+
11261155

11271156
class AutoModTriggerType(CursedIntEnum):
11281157
KEYWORD = 1
@@ -1156,6 +1185,12 @@ class MemberFlags(DiscordIntFlag):
11561185
COMPLETED_ONBOARDING = 1 << 1
11571186
BYPASSES_VERIFICATION = 1 << 2
11581187
STARTED_ONBOARDING = 1 << 3
1188+
IS_GUEST = 1 << 4
1189+
STARTED_HOME_ACTIONS = 1 << 5
1190+
COMPLETED_HOME_ACTIONS = 1 << 6
1191+
AUTOMOD_QUARANTINED_USERNAME = 1 << 7
1192+
DM_SETTINGS_UPSELL_ACKNOWLEDGED = 1 << 9
1193+
AUTOMOD_QUARANTINED_GUILD_TAG = 1 << 10
11591194

11601195

11611196
class StickerTypes(CursedIntEnum):
@@ -1180,8 +1215,11 @@ class ForumLayoutType(CursedIntEnum):
11801215
"""The layout of a forum channel."""
11811216

11821217
NOT_SET = 0
1183-
LIST = 1
1184-
GALLERY = 2
1218+
LIST_VIEW = 1
1219+
GALLERY_VIEW = 2
1220+
1221+
LIST = LIST_VIEW
1222+
GALLERY = GALLERY_VIEW
11851223

11861224

11871225
class ForumSortOrder(CursedIntEnum):

interactions/models/internal/application_commands.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -386,10 +386,12 @@ def _type_validator(self, attribute: str, value: int) -> None:
386386
if not isinstance(value, CommandType):
387387
if value not in CommandType.__members__.values():
388388
raise ValueError("Context Menu type not recognised, please consult the docs.")
389-
elif value == CommandType.CHAT_INPUT:
389+
if value == CommandType.CHAT_INPUT:
390390
raise ValueError(
391391
"The CHAT_INPUT type is basically slash commands. Please use the @slash_command() " "decorator instead."
392392
)
393+
if value == CommandType.PRIMARY_ENTRY_POINT:
394+
raise ValueError("Context Menu does not support PRIMARY_ENTRY_POINT, which is an Activity entry point.")
393395

394396
def to_dict(self) -> dict:
395397
data = super().to_dict()

0 commit comments

Comments
 (0)