Emoji Object
Emoji Structure
Premium Emoji
Roles with theintegration_id tag being the guild’s guild_subscription integration are considered subscription roles.
An emoji cannot have both subscription roles and non-subscription roles.
Emojis with subscription roles are considered premium emoji, and count toward a separate limit of 25.
Emojis cannot be converted between normal and premium after creation.
Emoji Formats
Emoji can be uploaded as JPEG, PNG, GIF, WebP, and AVIF formats. All emoji (regardless of original format) can be served as WebP. We highly recommend that developers use the.webp extension when fetching emoji so they’re rendered as WebP for maximum performance and compatibility. The Discord client uses WebP for all emoji displayed in-app.
Still WebP emoji can be requested using the .webp file extension. For animated WebP emoji, use the .webp extension with the ?animated=true query parameter.
Application-Owned Emoji
An application can own up to 2000 emojis that can only be used by that app. App emojis can be managed using the API with a bot token, or using the app’s settings in the portal. TheUSE_EXTERNAL_EMOJIS permission is not required to use app emojis.
The user field of an app emoji object represents the team member that uploaded the emoji from the app’s settings, or the bot user if uploaded using the API.
Emoji Example
Standard Emoji Example
Custom Emoji Examples
In
MESSAGE_REACTION_ADD, MESSAGE_REACTION_REMOVE and MESSAGE_REACTION_REMOVE_EMOJI gateway events animated will be returned for animated emoji.In
MESSAGE_REACTION_ADD and MESSAGE_REACTION_REMOVE gateway events name may be null when custom emoji data is not available (for example, if it was deleted from the guild).List Guild Emojis
Returns a list of emoji objects for the given guild. Includesuser fields if the bot has the CREATE_GUILD_EXPRESSIONS or MANAGE_GUILD_EXPRESSIONS permission.
Get Guild Emoji
Returns an emoji object for the given guild and emoji IDs. Includes theuser field if the bot has the MANAGE_GUILD_EXPRESSIONS permission, or if the bot created the emoji and has the CREATE_GUILD_EXPRESSIONS permission.
Create Guild Emoji
Create a new emoji for the guild. Requires theCREATE_GUILD_EXPRESSIONS permission. Returns the new emoji object on success. Fires a Guild Emojis Update Gateway event.
We highly recommend that developers use the
.webp extension when fetching emoji so they’re rendered as WebP for maximum performance and compatibility. See the Emoji Formats section above for more details.This endpoint supports the
X-Audit-Log-Reason header.JSON Params
Modify Guild Emoji
Modify the given emoji. For emojis created by the current user, requires either theCREATE_GUILD_EXPRESSIONS or MANAGE_GUILD_EXPRESSIONS permission. For other emojis, requires the MANAGE_GUILD_EXPRESSIONS permission. Returns the updated emoji object on success. Fires a Guild Emojis Update Gateway event.
All parameters to this endpoint are optional.
This endpoint supports the
X-Audit-Log-Reason header.JSON Params
Delete Guild Emoji
Delete the given emoji. For emojis created by the current user, requires either theCREATE_GUILD_EXPRESSIONS or MANAGE_GUILD_EXPRESSIONS permission. For other emojis, requires the MANAGE_GUILD_EXPRESSIONS permission. Returns 204 No Content on success. Fires a Guild Emojis Update Gateway event.
This endpoint supports the
X-Audit-Log-Reason header.List Application Emojis
Returns an object containing a list of emoji objects for the given application under theitems key. Includes a user object for the team member that uploaded the emoji from the app’s settings, or for the bot user if uploaded using the API.
Get Application Emoji
Returns an emoji object for the given application and emoji IDs. Includes theuser field.
Create Application Emoji
Create a new emoji for the application. Returns the new emoji object on success.We highly recommend that developers use the
.webp extension when fetching emoji so they’re rendered as WebP for maximum performance and compatibility. See the Emoji Formats section above for more details.JSON Params
Modify Application Emoji
Modify the given emoji. Returns the updated emoji object on success.JSON Params
Delete Application Emoji
Delete the given emoji. Returns204 No Content on success.