fix(GuildEmojiManager)!: Allow CreateGuildExpressions for retrieving author data (#11283)

* fix(GuildEmojiManager): allow `CreateGuildExpressions`

* fix!: update error code

BREAKING CHANGE: `MissingManageGuildExpressionsPermission` has become `MissingGuildExpressionsPermission`.
This commit is contained in:
Jiralite
2025-11-20 23:15:58 +00:00
committed by GitHub
parent 456a6f4548
commit 0b12263371
4 changed files with 7 additions and 7 deletions

View File

@@ -83,7 +83,7 @@
*
* @property {'EmojiType'} EmojiType
* @property {'EmojiManaged'} EmojiManaged
* @property {'MissingManageGuildExpressionsPermission'} MissingManageGuildExpressionsPermission
* @property {'MissingGuildExpressionsPermission'} MissingGuildExpressionsPermission
*
* @property {'NotGuildSoundboardSound'} NotGuildSoundboardSound
* @property {'NotGuildSticker'} NotGuildSticker
@@ -217,7 +217,7 @@ const keys = [
'EmojiType',
'EmojiManaged',
'MissingManageGuildExpressionsPermission',
'MissingGuildExpressionsPermission',
'NotGuildSoundboardSound',
'NotGuildSticker',

View File

@@ -88,8 +88,8 @@ const Messages = {
[ErrorCodes.EmojiType]: 'Emoji must be a string or GuildEmoji/ReactionEmoji',
[ErrorCodes.EmojiManaged]: 'Emoji is managed and has no Author.',
[ErrorCodes.MissingManageGuildExpressionsPermission]: guild =>
`Client must have Manage Guild Expressions permission in guild ${guild} to see emoji authors.`,
[ErrorCodes.MissingGuildExpressionsPermission]: guild =>
`Client must have Create Guild Expressions or Manage Guild Expressions permission in guild ${guild} to see emoji authors.`,
[ErrorCodes.NotGuildSoundboardSound]: action =>
`Soundboard sound is a default (non-guild) soundboard sound and can't be ${action}.`,

View File

@@ -251,8 +251,8 @@ class GuildEmojiManager extends CachedManager {
const { me } = this.guild.members;
if (!me) throw new DiscordjsError(ErrorCodes.GuildUncachedMe);
if (!me.permissions.has(PermissionFlagsBits.ManageGuildExpressions)) {
throw new DiscordjsError(ErrorCodes.MissingManageGuildExpressionsPermission, this.guild);
if (!me.permissions.any(PermissionFlagsBits.CreateGuildExpressions | PermissionFlagsBits.ManageGuildExpressions)) {
throw new DiscordjsError(ErrorCodes.MissingGuildExpressionsPermission, this.guild);
}
const data = await this.client.rest.get(Routes.guildEmoji(this.guild.id, resolvedEmoji.id));

View File

@@ -4051,7 +4051,7 @@ export enum DiscordjsErrorCodes {
EmojiType = 'EmojiType',
EmojiManaged = 'EmojiManaged',
MissingManageGuildExpressionsPermission = 'MissingManageGuildExpressionsPermission',
MissingGuildExpressionsPermission = 'MissingGuildExpressionsPermission',
NotGuildSoundboardSound = 'NotGuildSoundboardSound',
NotGuildSticker = 'NotGuildSticker',