Skip to content

Commit 38947e0

Browse files
authored
feat: add missing message types (#1338)
* feat: add missing message types * feat: add deletable message types helper
1 parent 2ac00ba commit 38947e0

File tree

1 file changed

+37
-1
lines changed

1 file changed

+37
-1
lines changed

interactions/models/discord/enums.py

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,11 @@ class PremiumType(CursedIntEnum):
342342

343343

344344
class MessageType(CursedIntEnum):
345-
"""Types of message."""
345+
"""
346+
Types of message.
347+
348+
Ref: https://discord.com/developers/docs/resources/channel#message-object-message-types
349+
"""
346350

347351
DEFAULT = 0
348352
RECIPIENT_ADD = 1
@@ -369,6 +373,38 @@ class MessageType(CursedIntEnum):
369373
CONTEXT_MENU_COMMAND = 23
370374
AUTO_MODERATION_ACTION = 24
371375
ROLE_SUBSCRIPTION_PURCHASE = 25
376+
INTERACTION_PREMIUM_UPSELL = 26
377+
STAGE_START = 27
378+
STAGE_END = 28
379+
STAGE_SPEAKER = 29
380+
STAGE_TOPIC = 31
381+
GUILD_APPLICATION_PREMIUM_SUBSCRIPTION = 32
382+
383+
@classmethod
384+
def deletable(cls) -> Tuple["MessageType", ...]:
385+
"""Return a tuple of message types that can be deleted."""
386+
return (
387+
cls.DEFAULT,
388+
cls.CHANNEL_PINNED_MESSAGE,
389+
cls.GUILD_MEMBER_JOIN,
390+
cls.USER_PREMIUM_GUILD_SUBSCRIPTION,
391+
cls.USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_1,
392+
cls.USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_2,
393+
cls.USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_3,
394+
cls.CHANNEL_FOLLOW_ADD,
395+
cls.THREAD_CREATED,
396+
cls.REPLY,
397+
cls.APPLICATION_COMMAND,
398+
cls.GUILD_INVITE_REMINDER,
399+
cls.CONTEXT_MENU_COMMAND,
400+
cls.AUTO_MODERATION_ACTION,
401+
cls.ROLE_SUBSCRIPTION_PURCHASE,
402+
cls.INTERACTION_PREMIUM_UPSELL,
403+
cls.STAGE_START,
404+
cls.STAGE_END,
405+
cls.STAGE_SPEAKER,
406+
cls.STAGE_TOPIC,
407+
)
372408

373409

374410
class EmbedType(Enum):

0 commit comments

Comments
 (0)