diff --git a/packages/discord.js/src/errors/ErrorCodes.js b/packages/discord.js/src/errors/ErrorCodes.js index cb1a1f09d..9b36fe2ef 100644 --- a/packages/discord.js/src/errors/ErrorCodes.js +++ b/packages/discord.js/src/errors/ErrorCodes.js @@ -106,7 +106,10 @@ * @property {'EmojiType'} EmojiType * @property {'EmojiManaged'} EmojiManaged + * @property {'MissingManageGuildExpressionsPermission'} MissingManageGuildExpressionsPermission * @property {'MissingManageEmojisAndStickersPermission'} MissingManageEmojisAndStickersPermission + * This property is deprecated. Use `MissingManageGuildExpressionsPermission` instead. + * * @property {'NotGuildSticker'} NotGuildSticker * @property {'ReactionResolveUser'} ReactionResolveUser @@ -255,7 +258,9 @@ const keys = [ 'EmojiType', 'EmojiManaged', + 'MissingManageGuildExpressionsPermission', 'MissingManageEmojisAndStickersPermission', + 'NotGuildSticker', 'ReactionResolveUser', diff --git a/packages/discord.js/src/errors/Messages.js b/packages/discord.js/src/errors/Messages.js index afdeafea8..550219f59 100644 --- a/packages/discord.js/src/errors/Messages.js +++ b/packages/discord.js/src/errors/Messages.js @@ -111,8 +111,11 @@ const Messages = { [DjsErrorCodes.EmojiType]: 'Emoji must be a string or GuildEmoji/ReactionEmoji', [DjsErrorCodes.EmojiManaged]: 'Emoji is managed and has no Author.', + [DjsErrorCodes.MissingManageGuildExpressionsPermission]: guild => + `Client must have Manage Guild Expressions permission in guild ${guild} to see emoji authors.`, [DjsErrorCodes.MissingManageEmojisAndStickersPermission]: guild => `Client must have Manage Emojis and Stickers permission in guild ${guild} to see emoji authors.`, + [DjsErrorCodes.NotGuildSticker]: 'Sticker is a standard (non-guild) sticker and has no author.', [DjsErrorCodes.ReactionResolveUser]: "Couldn't resolve the user id to remove from the reaction.", diff --git a/packages/discord.js/src/managers/GuildEmojiManager.js b/packages/discord.js/src/managers/GuildEmojiManager.js index 5ffaf6f13..61f5050fa 100644 --- a/packages/discord.js/src/managers/GuildEmojiManager.js +++ b/packages/discord.js/src/managers/GuildEmojiManager.js @@ -161,8 +161,8 @@ class GuildEmojiManager extends BaseGuildEmojiManager { const { me } = this.guild.members; if (!me) throw new DiscordjsError(ErrorCodes.GuildUncachedMe); - if (!me.permissions.has(PermissionFlagsBits.ManageEmojisAndStickers)) { - throw new DiscordjsError(ErrorCodes.MissingManageEmojisAndStickersPermission, this.guild); + if (!me.permissions.has(PermissionFlagsBits.ManageGuildExpressions)) { + throw new DiscordjsError(ErrorCodes.MissingManageGuildExpressionsPermission, this.guild); } const data = await this.client.rest.get(Routes.guildEmoji(this.guild.id, emoji.id)); diff --git a/packages/discord.js/src/structures/GuildEmoji.js b/packages/discord.js/src/structures/GuildEmoji.js index f3bf22dcb..0035a36e0 100644 --- a/packages/discord.js/src/structures/GuildEmoji.js +++ b/packages/discord.js/src/structures/GuildEmoji.js @@ -56,7 +56,7 @@ class GuildEmoji extends BaseGuildEmoji { */ get deletable() { if (!this.guild.members.me) throw new DiscordjsError(ErrorCodes.GuildUncachedMe); - return !this.managed && this.guild.members.me.permissions.has(PermissionFlagsBits.ManageEmojisAndStickers); + return !this.managed && this.guild.members.me.permissions.has(PermissionFlagsBits.ManageGuildExpressions); } /** diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index 03dfb2117..da87693c7 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -3601,7 +3601,10 @@ export enum DiscordjsErrorCodes { EmojiType = 'EmojiType', EmojiManaged = 'EmojiManaged', + MissingManageGuildExpressionsPermission = 'MissingManageGuildExpressionsPermission', + /** @deprecated Use {@link MissingManageGuildExpressionsPermission} instead. */ MissingManageEmojisAndStickersPermission = 'MissingManageEmojisAndStickersPermission', + NotGuildSticker = 'NotGuildSticker', ReactionResolveUser = 'ReactionResolveUser',