.. currentmodule:: discord
The API provides some enumerations for certain types of strings to avoid the API from being stringly typed in case the strings change in the future.
All enumerations are subclasses of an internal class which mimics the behaviour of :class:`enum.Enum`.
Specifies the input type of an option.
.. versionadded:: 2.0
.. attribute:: sub_command A slash subcommand.
.. attribute:: sub_command_group A slash command group.
.. attribute:: string A string.
.. attribute:: integer An integer.
.. attribute:: boolean A boolean.
.. attribute:: user A user from the current channel. This will be converted to an instance of :class:`.User` in private channels, else :class:`.Member`
.. attribute:: channel A channel from the current guild.
.. attribute:: role A role from the current guild.
.. attribute:: mentionable A mentionable (user or role).
.. attribute:: number A floating number.
.. attribute:: attachment An attachment.
Specifies the type of channel.
.. attribute:: text A text channel.
.. attribute:: voice A voice channel.
.. attribute:: private A private text channel. Also called a direct message.
.. attribute:: group A private group text channel.
.. attribute:: category A category channel.
.. attribute:: news A guild news channel.
.. attribute:: stage_voice A guild stage voice channel. .. versionadded:: 1.7
.. attribute:: news_thread A news thread. .. versionadded:: 2.0
.. attribute:: public_thread A public thread. .. versionadded:: 2.0
.. attribute:: private_thread A private thread. .. versionadded:: 2.0
.. attribute:: directory A guild directory entry, used in hub guilds, currently in experiment. .. versionadded:: 2.0
.. attribute:: forum User can only write in threads, similar functionality to a forum. .. versionadded:: 2.0
Specifies the type of :class:`Message`. This is used to denote if a message is to be interpreted as a system message or a regular message.
.. describe:: x == y Checks if two messages are equal.
.. describe:: x != y Checks if two messages are not equal.
.. attribute:: default The default message type. This is the same as regular messages.
.. attribute:: recipient_add The system message when a user is added to a group private message or a thread.
.. attribute:: recipient_remove The system message when a user is removed from a group private message or a thread.
.. attribute:: call The system message denoting call state, e.g. missed call, started call, etc.
.. attribute:: channel_name_change The system message denoting that a channel's name has been changed.
.. attribute:: channel_icon_change The system message denoting that a channel's icon has been changed.
.. attribute:: pins_add The system message denoting that a pinned message has been added to a channel.
.. attribute:: new_member 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.
.. attribute:: channel_follow_add The system message denoting that an announcement channel has been followed. .. versionadded:: 1.3
.. attribute:: guild_stream The system message denoting that a member is streaming in the guild. .. versionadded:: 1.7
.. attribute:: guild_discovery_disqualified The system message denoting that the guild is no longer eligible for Server Discovery. .. versionadded:: 1.7
.. attribute:: guild_discovery_requalified The system message denoting that the guild has become eligible again for Server Discovery. .. versionadded:: 1.7
.. attribute:: guild_discovery_grace_period_initial_warning The system message denoting that the guild has failed to meet the Server Discovery requirements for one week. .. versionadded:: 1.7
.. attribute:: guild_discovery_grace_period_final_warning The system message denoting that the guild has failed to meet the Server Discovery requirements for 3 weeks in a row. .. versionadded:: 1.7
.. attribute:: thread_created The system message denoting that a thread has been created. This is only sent if the thread has been created from an older message. The period of time required for a message to be considered old cannot be relied upon and is up to Discord. .. versionadded:: 2.0
.. attribute:: reply The system message denoting that the author is replying to a message. .. versionadded:: 2.0
.. attribute:: application_command The system message denoting that an application (or "slash") command was executed. .. versionadded:: 2.0
.. attribute:: guild_invite_reminder The system message sent as a reminder to invite people to the guild. .. versionadded:: 2.0
.. attribute:: thread_starter_message The system message denoting the message in the thread that is the one that started the thread's conversation topic. .. versionadded:: 2.0
.. attribute:: context_menu_command The system message denoting that an context menu command was executed. .. versionadded:: 2.0
Represents Discord User flags.
.. attribute:: staff The user is a Discord Employee.
.. attribute:: partner The user is a Discord Partner.
.. attribute:: hypesquad The user is a HypeSquad Events member.
.. attribute:: bug_hunter The user is a Bug Hunter.
.. attribute:: mfa_sms The user has SMS recovery for Multi Factor Authentication enabled.
.. attribute:: premium_promo_dismissed The user has dismissed the Discord Nitro promotion.
.. attribute:: hypesquad_bravery The user is a HypeSquad Bravery member.
.. attribute:: hypesquad_brilliance The user is a HypeSquad Brilliance member.
.. attribute:: hypesquad_balance The user is a HypeSquad Balance member.
.. attribute:: early_supporter The user is an Early Supporter.
.. attribute:: team_user The user is a Team User.
.. attribute:: partner_or_verification_application Relates to partner/verification applications.
.. attribute:: system The user is a system user (i.e. represents Discord officially).
.. attribute:: has_unread_urgent_messages The user has an unread system message.
.. attribute:: bug_hunter_level_2 The user is a Bug Hunter Level 2.
.. attribute:: underage_deleted The user was deleted for being underage.
.. attribute:: verified_bot The user is a Verified Bot.
.. attribute:: verified_bot_developer The user is an Early Verified Bot Developer.
.. attribute:: discord_certified_moderator The user is a Discord Certified Moderator.
.. attribute:: bot_http_interactions The bot has set an interactions endpoint url.
.. attribute:: spammer The user is disabled for being a spammer.
.. attribute:: active_developer The user is an Active Developer.
Specifies the type of :class:`Activity`. This is used to check how to interpret the activity itself.
.. attribute:: unknown An unknown activity type. This should generally not happen.
.. attribute:: playing A "Playing" activity type.
.. attribute:: streaming A "Streaming" activity type.
.. attribute:: listening A "Listening" activity type.
.. attribute:: watching A "Watching" activity type.
.. attribute:: custom A custom activity type.
.. attribute:: competing A competing activity type. .. versionadded:: 1.5
Specifies the type of :class:`Interaction`.
.. versionadded:: 2.0
.. attribute:: ping Represents Discord pinging to see if the interaction response server is alive.
.. attribute:: application_command Represents a slash command interaction.
.. attribute:: component Represents a component based interaction, i.e. using the Discord Bot UI Kit.
.. attribute:: auto_complete Represents a autocomplete interaction for slash commands.
.. attribute:: modal_submit Represents a modal based interaction.
Specifies the response type for the interaction.
.. versionadded:: 2.0
.. attribute:: pong Pongs the interaction when given a ping. See also :meth:`InteractionResponse.pong`
.. attribute:: channel_message Respond to the interaction with a message. See also :meth:`InteractionResponse.send_message`
.. attribute:: deferred_channel_message Responds to the interaction with a message at a later time. See also :meth:`InteractionResponse.defer`
.. attribute:: deferred_message_update Acknowledges the component interaction with a promise that the message will update later (though there is no need to actually update the message). See also :meth:`InteractionResponse.defer`
.. attribute:: message_update Responds to the interaction by editing the message. See also :meth:`InteractionResponse.edit_message`
.. attribute:: auto_complete_result Responds to the interaction by sending the autocomplete choices. See also :meth:`InteractionResponse.send_autocomplete_result`
.. attribute:: modal Responds to the interaction by sending a modal dialog. See also :meth:`InteractionResponse.send_modal`
Represents the component type of a component.
.. versionadded:: 2.0
.. attribute:: action_row Represents the group component which holds different components in a row.
.. attribute:: button Represents a button component.
.. attribute:: select Represents a string select component. .. deprecated:: 2.3 Use :attr:`ComponentType.string_select` instead.
.. attribute:: string_select Represents a string select component.
.. attribute:: input_text Represents an input_text component.
.. attribute:: user_select Represents a user select component.
.. attribute:: role_select Represents a role select component.
.. attribute:: mentionable_select Represents a mentionable select component.
.. attribute:: channel_select Represents a channel select component.
Represents the style of the button component.
.. versionadded:: 2.0
.. attribute:: primary Represents a blurple button for the primary action.
.. attribute:: secondary Represents a grey button for the secondary action.
.. attribute:: success Represents a green button for a successful action.
.. attribute:: danger Represents a red button for a dangerous action.
.. attribute:: link Represents a link button.
.. attribute:: blurple An alias for :attr:`primary`.
.. attribute:: grey An alias for :attr:`secondary`.
.. attribute:: gray An alias for :attr:`secondary`.
.. attribute:: green An alias for :attr:`success`.
.. attribute:: red An alias for :attr:`danger`.
.. attribute:: url An alias for :attr:`link`.
Represents the style of the input text component.
.. versionadded:: 2.0
.. attribute:: short Represents a single-line input text field.
.. attribute:: long Represents a multi-line input text field.
.. attribute:: singleline An alias for :attr:`short`.
.. attribute:: multiline An alias for :attr:`long`.
.. attribute:: paragraph An alias for :attr:`long`.
Specifies the region a voice server belongs to.
.. attribute:: amsterdam The Amsterdam region.
.. attribute:: brazil The Brazil region.
.. attribute:: dubai The Dubai region. .. versionadded:: 1.3
.. attribute:: eu_central The EU Central region.
.. attribute:: eu_west The EU West region.
.. attribute:: europe The Europe region. .. versionadded:: 1.3
.. attribute:: frankfurt The Frankfurt region.
.. attribute:: hongkong The Hong Kong region.
.. attribute:: india The India region. .. versionadded:: 1.2
.. attribute:: japan The Japan region.
.. attribute:: london The London region.
.. attribute:: russia The Russia region.
.. attribute:: singapore The Singapore region.
.. attribute:: southafrica The South Africa region.
.. attribute:: south_korea The South Korea region.
.. attribute:: sydney The Sydney region.
.. attribute:: us_central The US Central region.
.. attribute:: us_east The US East region.
.. attribute:: us_south The US South region.
.. attribute:: us_west The US West region.
.. attribute:: vip_amsterdam The Amsterdam region for VIP guilds.
.. attribute:: vip_us_east The US East region for VIP guilds.
.. attribute:: vip_us_west The US West region for VIP guilds.
Specifies a :class:`Guild`'s verification level, which is the criteria in which a member must meet before being able to send messages to the guild.
.. versionadded:: 2.0
.. describe:: x == y Checks if two verification levels are equal.
.. describe:: x != y Checks if two verification levels are not equal.
.. describe:: x > y Checks if a verification level is higher than another.
.. describe:: x < y Checks if a verification level is lower than another.
.. describe:: x >= y Checks if a verification level is higher or equal to another.
.. describe:: x <= y Checks if a verification level is lower or equal to another.
.. attribute:: none No criteria set.
.. attribute:: low Member must have a verified email on their Discord account.
.. attribute:: medium Member must have a verified email and be registered on Discord for more than five minutes.
.. attribute:: high Member must have a verified email, be registered on Discord for more than five minutes, and be a member of the guild itself for more than ten minutes.
.. attribute:: highest Member must have a verified phone on their Discord account.
Specifies whether a :class:`Guild` has notifications on for all messages or mentions only by default.
.. versionadded:: 2.0
.. describe:: x == y Checks if two notification levels are equal.
.. describe:: x != y Checks if two notification levels are not equal.
.. describe:: x > y Checks if a notification level is higher than another.
.. describe:: x < y Checks if a notification level is lower than another.
.. describe:: x >= y Checks if a notification level is higher or equal to another.
.. describe:: x <= y Checks if a notification level is lower or equal to another.
.. attribute:: all_messages Members receive notifications for every message regardless of them being mentioned.
.. attribute:: only_mentions Members receive notifications for messages they are mentioned in.
Specifies a :class:`Guild`'s explicit content filter, which is the machine learning algorithms that Discord uses to detect if an image contains pornography or otherwise explicit content.
.. versionadded:: 2.0
.. describe:: x == y Checks if two content filter levels are equal.
.. describe:: x != y Checks if two content filter levels are not equal.
.. describe:: x > y Checks if a content filter level is higher than another.
.. describe:: x < y Checks if a content filter level is lower than another.
.. describe:: x >= y Checks if a content filter level is higher or equal to another.
.. describe:: x <= y Checks if a content filter level is lower or equal to another.
.. attribute:: disabled The guild does not have the content filter enabled.
.. attribute:: no_role The guild has the content filter enabled for members without a role.
.. attribute:: all_members The guild has the content filter enabled for every member.
Specifies a :class:`Member` 's status.
.. attribute:: online The member is online.
.. attribute:: offline The member is offline.
.. attribute:: idle The member is idle.
.. attribute:: dnd The member is "Do Not Disturb".
.. attribute:: do_not_disturb An alias for :attr:`dnd`.
.. attribute:: invisible The member is "invisible". In reality, this is only used in sending a presence a la :meth:`Client.change_presence`. When you receive a user's presence this will be :attr:`offline` instead.
.. attribute:: streaming The member is streaming.
Represents the type of action being done for a :class:`AuditLogEntry`, which is retrievable via :meth:`Guild.audit_logs`.
.. attribute:: guild_update The guild has updated. Things that trigger this include: - Changing the guild vanity URL - Changing the guild invite splash - Changing the guild AFK channel or timeout - Changing the guild voice server region - Changing the guild icon, banner, or discovery splash - Changing the guild moderation settings - Changing things related to the guild widget When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Guild`. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.afk_channel` - :attr:`~AuditLogDiff.system_channel` - :attr:`~AuditLogDiff.afk_timeout` - :attr:`~AuditLogDiff.default_message_notifications` - :attr:`~AuditLogDiff.explicit_content_filter` - :attr:`~AuditLogDiff.mfa_level` - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.owner` - :attr:`~AuditLogDiff.splash` - :attr:`~AuditLogDiff.discovery_splash` - :attr:`~AuditLogDiff.icon` - :attr:`~AuditLogDiff.banner` - :attr:`~AuditLogDiff.vanity_url_code`
.. attribute:: channel_create A new channel was created. When this is the action, the type of :attr:`~AuditLogEntry.target` is either a :class:`abc.GuildChannel` or :class:`Object` with an ID. A more filled out object in the :class:`Object` case can be found by using :attr:`~AuditLogEntry.after`. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.type` - :attr:`~AuditLogDiff.overwrites`
.. attribute:: channel_update A channel was updated. Things that trigger this include: - The channel name or topic was changed - The channel bitrate was changed When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`abc.GuildChannel` or :class:`Object` with an ID. A more filled out object in the :class:`Object` case can be found by using :attr:`~AuditLogEntry.after` or :attr:`~AuditLogEntry.before`. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.type` - :attr:`~AuditLogDiff.position` - :attr:`~AuditLogDiff.overwrites` - :attr:`~AuditLogDiff.topic` - :attr:`~AuditLogDiff.bitrate` - :attr:`~AuditLogDiff.rtc_region` - :attr:`~AuditLogDiff.video_quality_mode` - :attr:`~AuditLogDiff.default_auto_archive_duration`
.. attribute:: channel_delete A channel was deleted. When this is the action, the type of :attr:`~AuditLogEntry.target` is an :class:`Object` with an ID. A more filled out object can be found by using the :attr:`~AuditLogEntry.before` object. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.type` - :attr:`~AuditLogDiff.overwrites`
.. attribute:: overwrite_create A channel permission overwrite was created. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`abc.GuildChannel` or :class:`Object` with an ID. When this is the action, the type of :attr:`~AuditLogEntry.extra` is either a :class:`Role` or :class:`Member`. If the object is not found then it is a :class:`Object` with an ID being filled, a name, and a ``type`` attribute set to either ``'role'`` or ``'member'`` to help dictate what type of ID it is. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.deny` - :attr:`~AuditLogDiff.allow` - :attr:`~AuditLogDiff.id` - :attr:`~AuditLogDiff.type`
.. attribute:: overwrite_update A channel permission overwrite was changed, this is typically when the permission values change. See :attr:`overwrite_create` for more information on how the :attr:`~AuditLogEntry.target` and :attr:`~AuditLogEntry.extra` fields are set. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.deny` - :attr:`~AuditLogDiff.allow` - :attr:`~AuditLogDiff.id` - :attr:`~AuditLogDiff.type`
.. attribute:: overwrite_delete A channel permission overwrite was deleted. See :attr:`overwrite_create` for more information on how the :attr:`~AuditLogEntry.target` and :attr:`~AuditLogEntry.extra` fields are set. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.deny` - :attr:`~AuditLogDiff.allow` - :attr:`~AuditLogDiff.id` - :attr:`~AuditLogDiff.type`
.. attribute:: kick A member was kicked. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`User` who got kicked. When this is the action, :attr:`~AuditLogEntry.changes` is empty.
.. attribute:: member_prune A member prune was triggered. When this is the action, the type of :attr:`~AuditLogEntry.target` is set to ``None``. When this is the action, the type of :attr:`~AuditLogEntry.extra` is set to an unspecified proxy object with two attributes: - ``delete_members_days``: An integer specifying how far the prune was. - ``members_removed``: An integer specifying how many members were removed. When this is the action, :attr:`~AuditLogEntry.changes` is empty.
.. attribute:: ban A member was banned. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`User` who got banned. When this is the action, :attr:`~AuditLogEntry.changes` is empty.
.. attribute:: unban A member was unbanned. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`User` who got unbanned. When this is the action, :attr:`~AuditLogEntry.changes` is empty.
.. attribute:: member_update A member has updated. This triggers in the following situations: - A nickname was changed - They were server muted or deafened (or it was undone) When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Member` or :class:`User` who got updated. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.nick` - :attr:`~AuditLogDiff.mute` - :attr:`~AuditLogDiff.deaf`
.. attribute:: member_role_update A member's role has been updated. This triggers when a member either gains a role or loses a role. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Member` or :class:`User` who got the role. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.roles`
.. attribute:: member_move A member's voice channel has been updated. This triggers when a member is moved to a different voice channel. When this is the action, the type of :attr:`~AuditLogEntry.extra` is set to an unspecified proxy object with two attributes: - ``channel``: A :class:`TextChannel` or :class:`Object` with the channel ID where the members were moved. - ``count``: An integer specifying how many members were moved. .. versionadded:: 1.3
.. attribute:: member_disconnect A member's voice state has changed. This triggers when a member is force disconnected from voice. When this is the action, the type of :attr:`~AuditLogEntry.extra` is set to an unspecified proxy object with one attribute: - ``count``: An integer specifying how many members were disconnected. .. versionadded:: 1.3
.. attribute:: bot_add A bot was added to the guild. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Member` or :class:`User` which was added to the guild. .. versionadded:: 1.3
.. attribute:: role_create A new role was created. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Role` or a :class:`Object` with the ID. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.colour` - :attr:`~AuditLogDiff.mentionable` - :attr:`~AuditLogDiff.hoist` - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.permissions`
.. attribute:: role_update A role was updated. This triggers in the following situations: - The name has changed - The permissions have changed - The colour has changed - Its hoist/mentionable state has changed When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Role` or a :class:`Object` with the ID. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.colour` - :attr:`~AuditLogDiff.mentionable` - :attr:`~AuditLogDiff.hoist` - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.permissions`
.. attribute:: role_delete A role was deleted. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Role` or a :class:`Object` with the ID. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.colour` - :attr:`~AuditLogDiff.mentionable` - :attr:`~AuditLogDiff.hoist` - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.permissions`
.. attribute:: invite_create An invite was created. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Invite` that was created. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.max_age` - :attr:`~AuditLogDiff.code` - :attr:`~AuditLogDiff.temporary` - :attr:`~AuditLogDiff.inviter` - :attr:`~AuditLogDiff.channel` - :attr:`~AuditLogDiff.uses` - :attr:`~AuditLogDiff.max_uses`
.. attribute:: invite_update An invite was updated. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Invite` that was updated.
.. attribute:: invite_delete An invite was deleted. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Invite` that was deleted. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.max_age` - :attr:`~AuditLogDiff.code` - :attr:`~AuditLogDiff.temporary` - :attr:`~AuditLogDiff.inviter` - :attr:`~AuditLogDiff.channel` - :attr:`~AuditLogDiff.uses` - :attr:`~AuditLogDiff.max_uses`
.. attribute:: webhook_create A webhook was created. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Object` with the webhook ID. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.channel` - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.type` (always set to ``1`` if so)
.. attribute:: webhook_update A webhook was updated. This trigger in the following situations: - The webhook name changed - The webhook channel changed When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Object` with the webhook ID. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.channel` - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.avatar`
.. attribute:: webhook_delete A webhook was deleted. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Object` with the webhook ID. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.channel` - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.type` (always set to ``1`` if so)
.. attribute:: emoji_create An emoji was created. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Emoji` or :class:`Object` with the emoji ID. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.name`
.. attribute:: emoji_update An emoji was updated. This triggers when the name has changed. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Emoji` or :class:`Object` with the emoji ID. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.name`
.. attribute:: emoji_delete An emoji was deleted. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Object` with the emoji ID. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.name`
.. attribute:: message_delete A message was deleted by a moderator. Note that this only triggers if the message was deleted by someone other than the author. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Member` or :class:`User` who had their message deleted. When this is the action, the type of :attr:`~AuditLogEntry.extra` is set to an unspecified proxy object with two attributes: - ``count``: An integer specifying how many messages were deleted. - ``channel``: A :class:`TextChannel` or :class:`Object` with the channel ID where the message got deleted.
.. attribute:: message_bulk_delete Messages were bulk deleted by a moderator. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`TextChannel` or :class:`Object` with the ID of the channel that was purged. When this is the action, the type of :attr:`~AuditLogEntry.extra` is set to an unspecified proxy object with one attribute: - ``count``: An integer specifying how many messages were deleted. .. versionadded:: 1.3
.. attribute:: message_pin A message was pinned in a channel. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Member` or :class:`User` who had their message pinned. When this is the action, the type of :attr:`~AuditLogEntry.extra` is set to an unspecified proxy object with two attributes: - ``channel``: A :class:`TextChannel` or :class:`Object` with the channel ID where the message was pinned. - ``message_id``: the ID of the message which was pinned. .. versionadded:: 1.3
.. attribute:: message_unpin A message was unpinned in a channel. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Member` or :class:`User` who had their message unpinned. When this is the action, the type of :attr:`~AuditLogEntry.extra` is set to an unspecified proxy object with two attributes: - ``channel``: A :class:`TextChannel` or :class:`Object` with the channel ID where the message was unpinned. - ``message_id``: the ID of the message which was unpinned. .. versionadded:: 1.3
.. attribute:: integration_create A guild integration was created. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Object` with the integration ID of the integration which was created. .. versionadded:: 1.3
.. attribute:: integration_update A guild integration was updated. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Object` with the integration ID of the integration which was updated. .. versionadded:: 1.3
.. attribute:: integration_delete A guild integration was deleted. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Object` with the integration ID of the integration which was deleted. .. versionadded:: 1.3
.. attribute:: stage_instance_create A stage instance was started. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`StageInstance` or :class:`Object` with the ID of the stage instance which was created. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.topic` - :attr:`~AuditLogDiff.privacy_level` .. versionadded:: 2.0
.. attribute:: stage_instance_update A stage instance was updated. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`StageInstance` or :class:`Object` with the ID of the stage instance which was updated. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.topic` - :attr:`~AuditLogDiff.privacy_level` .. versionadded:: 2.0
.. attribute:: stage_instance_delete A stage instance was ended. .. versionadded:: 2.0
.. attribute:: sticker_create A sticker was created. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`GuildSticker` or :class:`Object` with the ID of the sticker which was updated. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.emoji` - :attr:`~AuditLogDiff.type` - :attr:`~AuditLogDiff.format_type` - :attr:`~AuditLogDiff.description` - :attr:`~AuditLogDiff.available` .. versionadded:: 2.0
.. attribute:: sticker_update A sticker was updated. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`GuildSticker` or :class:`Object` with the ID of the sticker which was updated. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.emoji` - :attr:`~AuditLogDiff.type` - :attr:`~AuditLogDiff.format_type` - :attr:`~AuditLogDiff.description` - :attr:`~AuditLogDiff.available` .. versionadded:: 2.0
.. attribute:: sticker_delete A sticker was deleted. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`GuildSticker` or :class:`Object` with the ID of the sticker which was updated. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.emoji` - :attr:`~AuditLogDiff.type` - :attr:`~AuditLogDiff.format_type` - :attr:`~AuditLogDiff.description` - :attr:`~AuditLogDiff.available` .. versionadded:: 2.0
.. attribute:: scheduled_event_create A scheduled event was created. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`ScheduledEvent` or :class:`Object` with the ID of the thread which was deleted. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.description` - :attr:`~AuditLogDiff.channel` - :attr:`~AuditLogDiff.privacy_level` - :attr:`~discord.ScheduledEvent.location` - :attr:`~discord.ScheduledEvent.status` - :attr:`~discord.ScheduledEventLocation.type` .. versionadded:: 2.0
.. attribute:: scheduled_event_update A scheduled event was updated. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`ScheduledEvent` or :class:`Object` with the ID of the thread which was deleted. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.description` - :attr:`~AuditLogDiff.channel` - :attr:`~AuditLogDiff.privacy_level` - :attr:`~discord.ScheduledEvent.location` - :attr:`~discord.ScheduledEvent.status` - :attr:`~discord.ScheduledEventLocation.type` .. versionadded:: 2.0
.. attribute:: scheduled_event_delete A scheduled event was deleted. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`ScheduledEvent` or :class:`Object` with the ID of the thread which was deleted. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.description` - :attr:`~AuditLogDiff.channel` - :attr:`~AuditLogDiff.privacy_level` - :attr:`~discord.ScheduledEvent.location` - :attr:`~discord.ScheduledEvent.status` - :attr:`~discord.ScheduledEventLocation.type` .. versionadded:: 2.0
.. attribute:: thread_create A thread was created. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Thread` or :class:`Object` with the ID of the thread which was created. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.archived` - :attr:`~AuditLogDiff.locked` - :attr:`~AuditLogDiff.auto_archive_duration` - :attr:`~AuditLogDiff.invitable` .. versionadded:: 2.0
.. attribute:: thread_update A thread was updated. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Thread` or :class:`Object` with the ID of the thread which was updated. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.archived` - :attr:`~AuditLogDiff.locked` - :attr:`~AuditLogDiff.auto_archive_duration` - :attr:`~AuditLogDiff.invitable` .. versionadded:: 2.0
.. attribute:: thread_delete A thread was deleted. When this is the action, the type of :attr:`~AuditLogEntry.target` is the :class:`Thread` or :class:`Object` with the ID of the thread which was deleted. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.name` - :attr:`~AuditLogDiff.archived` - :attr:`~AuditLogDiff.locked` - :attr:`~AuditLogDiff.auto_archive_duration` - :attr:`~AuditLogDiff.invitable` .. versionadded:: 2.0
.. attribute:: application_command_permission_update An application command's permissions were updated. When this is the action, the type of :attr:`~AuditLogEntry.target` is an :class:`Object` with the ID of the command that had it's permissions edited. Possible attributes for :class:`AuditLogDiff`: - :attr:`~AuditLogDiff.command_id` .. versionadded:: 2.0
Represents the category that the :class:`AuditLogAction` belongs to.
This can be retrieved via :attr:`AuditLogEntry.category`.
.. attribute:: create The action is the creation of something.
.. attribute:: delete The action is the deletion of something.
.. attribute:: update The action is the update of something.
Represents the membership state of a team member retrieved through :func:`Client.application_info`.
.. versionadded:: 1.3
.. attribute:: invited Represents an invited member.
.. attribute:: accepted Represents a member currently in the team.
Represents the type of webhook that can be received.
.. versionadded:: 1.3
.. attribute:: incoming Represents a webhook that can post messages to channels with a token.
.. attribute:: channel_follower Represents a webhook that is internally managed by Discord, used for following channels.
.. attribute:: application Represents a webhook that is used for interactions or applications. .. versionadded:: 2.0
Represents the behaviour the :class:`Integration` should perform when a user's subscription has finished.
There is an alias for this called ExpireBehavior
.
.. versionadded:: 1.4
.. attribute:: remove_role This will remove the :attr:`StreamIntegration.role` from the user when their subscription is finished.
.. attribute:: kick This will kick the user when their subscription is finished.
Represents the default avatar of a Discord :class:`User`
.. attribute:: blurple Represents the default avatar with the color blurple. See also :attr:`Colour.blurple`
.. attribute:: grey Represents the default avatar with the color grey. See also :attr:`Colour.greyple`
.. attribute:: gray An alias for :attr:`grey`.
.. attribute:: green Represents the default avatar with the color green. See also :attr:`Colour.green`
.. attribute:: orange Represents the default avatar with the color orange. See also :attr:`Colour.orange`
.. attribute:: red Represents the default avatar with the color red. See also :attr:`Colour.red`
Represents the type of sticker.
.. versionadded:: 2.0
.. attribute:: standard Represents a standard sticker that all Nitro users can use.
.. attribute:: guild Represents a custom sticker created in a guild.
Represents the type of sticker images.
.. versionadded:: 1.6
.. attribute:: png Represents a sticker with a png image.
.. attribute:: apng Represents a sticker with an apng image.
.. attribute:: lottie Represents a sticker with a lottie image.
Represents the invite type for voice channel invites.
.. versionadded:: 2.0
.. attribute:: unknown The invite doesn't target anyone or anything.
.. attribute:: stream A stream invite that targets a user.
.. attribute:: embedded_application A invite that targets an embedded application. Note that your bot won't be verified if you provide users access to this
Represents the camera video quality mode for voice channel participants.
.. versionadded:: 2.0
.. attribute:: auto Represents auto camera video quality.
.. attribute:: full Represents full camera video quality.
Represents a stage instance's privacy level. Stage event privacy levels can only have 1 possible value at the moment so this shouldn't really be used.
.. versionadded:: 2.0
.. attribute:: closed The stage instance can only be joined by members of the guild.
.. attribute:: guild_only Alias for :attr:`.closed`
Represents the NSFW level of a guild.
.. versionadded:: 2.0
.. describe:: x == y Checks if two NSFW levels are equal.
.. describe:: x != y Checks if two NSFW levels are not equal.
.. describe:: x > y Checks if a NSFW level is higher than another.
.. describe:: x < y Checks if a NSFW level is lower than another.
.. describe:: x >= y Checks if a NSFW level is higher or equal to another.
.. describe:: x <= y Checks if a NSFW level is lower or equal to another.
.. attribute:: default The guild has not been categorised yet.
.. attribute:: explicit The guild contains NSFW content.
.. attribute:: safe The guild does not contain any NSFW content.
.. attribute:: age_restricted The guild may contain NSFW content.
Represents an embedded activity application.
Some might be boost-only or gated.
Warning
Discord said that they won't verify bots who gives access to embedded activities.
Read more here: https://discord.com/channels/613425648685547541/697236247739105340/901153332075315321.
.. versionadded:: 2.0
.. attribute:: awkword Represents the embedded application Awkword.
.. attribute:: betrayal Represents the embedded application Betrayal.io
.. attribute:: checkers_in_the_park Represents the embedded application Checkers in the Park Prod.
.. attribute:: checkers_in_the_park_dev Represents the embedded application Checkers in the Park Development.
.. attribute:: checkers_in_the_park_staging Represents the embedded application Checkers in the Park Staging.
.. attribute:: checkers_in_the_park_qa Represents the embedded application Checkers in the Park QA.
.. attribute:: chess_in_the_park Represents the embedded application Chess in the Park.
.. attribute:: chess_in_the_park_dev Represents the embedded application Chess in the Park Development.
.. attribute:: chest_in_the_park_staging Represents the embedded application Chess in the Park Staging.
.. attribute:: chest_in_the_park_qa Represents the embedded application Chess in the Park QA.
.. attribute:: doodle_crew Represents the embedded application Doodle Crew.
.. attribute:: fishington Represents the embedded application Fishington.io
.. attribute:: letter_tile Represents the embedded application Letter Tile.
.. attribute:: ocho Represents the embedded application Ocho.
.. attribute:: ocho_dev Represents the embedded application Ocho Development.
.. attribute:: ocho_staging Represents the embedded application Ocho Staging.
.. attribute:: ocho_qa Represents the embedded application Ocho QA.
.. attribute:: poker_night_staging Represents the embedded application Poker Night Staging.
.. attribute:: poker_night Represents the embedded application Poker Night.
.. attribute:: poker_night_qa Represents the embedded application Poker QA.
.. attribute:: putts Represents the embedded application Putts.
.. attribute:: sketchy_artist Represents the embedded application Sketchy Artist.
.. attribute:: sketchy_artist_dev Represents the embedded application Sketchy Artist development version.
.. attribute:: spell_cast Represents the embedded application Spell Cast.
.. attribute:: watch_together Same as :attr:`~EmbeddedActivity.youtube_together` with remote feature which allows guild admins to limit the playlist access.
.. attribute:: watch_together_dev Development version of :attr:`.watch_together`.
.. attribute:: word_snacks Represents the embedded application word snacks.
.. attribute:: word_snacks_dev Represents the embedded application word snacks. This is development version of :attr:`.word_snacks`
.. attribute:: youtube_together Represents the embedded application Youtube Together.
Represents the status of a scheduled event.
.. versionadded:: 2.0
.. attribute:: scheduled The scheduled event hasn't started or been canceled yet.
.. attribute:: active The scheduled event is in progress.
.. attribute:: completed The scheduled event is over.
.. attribute:: canceled The scheduled event has been canceled before it can start.
.. attribute:: cancelled Alias to :attr:`canceled`.
Represents a scheduled event location type (otherwise known as the entity type on the API).
.. versionadded:: 2.0
.. attribute:: stage_instance Represents a scheduled event that is happening in a :class:`StageChannel`.
.. attribute:: voice Represents a scheduled event that is happening in a :class:`VoiceChannel`.
.. attribute:: external Represents a generic location as a :class:`str`.
Represents the privacy level of a scheduled event. Scheduled event privacy levels can only have 1 possible value at the moment so this shouldn't really be used.
.. attribute:: guild_only Represents a scheduled event that is only available to members inside the guild.