diff --git a/discord/enums.py b/discord/enums.py index d077f7eea..5e47f8a93 100644 --- a/discord/enums.py +++ b/discord/enums.py @@ -76,14 +76,18 @@ class ChannelType(Enum): @fast_lookup class MessageType(Enum): - default = 0 - recipient_add = 1 - recipient_remove = 2 - call = 3 - channel_name_change = 4 - channel_icon_change = 5 - pins_add = 6 - new_member = 7 + default = 0 + recipient_add = 1 + recipient_remove = 2 + call = 3 + channel_name_change = 4 + channel_icon_change = 5 + pins_add = 6 + new_member = 7 + premium_guild_subscription = 8 + premium_guild_tier_1 = 9 + premium_guild_tier_2 = 10 + premium_guild_tier_3 = 11 @fast_lookup class VoiceRegion(Enum): diff --git a/discord/message.py b/discord/message.py index 5ed97d59b..75ee52b5d 100644 --- a/discord/message.py +++ b/discord/message.py @@ -603,6 +603,18 @@ class Message: else: return '{0.author.name} started a call \N{EM DASH} Join the call.'.format(self) + if self.type is MessageType.premium_guild_subscription: + return '{0.author.name} just boosted the server!'.format(self) + + if self.type is MessageType.premium_guild_tier_1: + return '{0.author.name} just boosted the server! {0.guild} has achieved **Level 1!**'.format(self) + + if self.type is MessageType.premium_guild_tier_2: + return '{0.author.name} just boosted the server! {0.guild} has achieved **Level 2!**'.format(self) + + if self.type is MessageType.premium_guild_tier_3: + return '{0.author.name} just boosted the server! {0.guild} has achieved **Level 3!**'.format(self) + async def delete(self, *, delay=None): """|coro| diff --git a/docs/api.rst b/docs/api.rst index f8d2af317..2464ffee8 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -720,6 +720,22 @@ All enumerations are subclasses of `enum`_. The system message denoting that a new member has joined a Guild. + .. attribute:: premium_guild_subscription + + The system message denoting that a member has "nitro boosted" a guild. + .. attribute:: premium_guild_tier_1 + + The system message denoting that a member has "nitro boosted" a guild + and it achieved level 1. + .. attribute:: premium_guild_tier_2 + + The system message denoting that a member has "nitro boosted" a guild + and it achieved level 2. + .. attribute:: premium_guild_tier_3 + + The system message denoting that a member has "nitro boosted" a guild + and it achieved level 3. + .. class:: ActivityType Specifies the type of :class:`Activity`. This is used to check how to