如何使用discord.js查询guild剩余可用emoji槽位及总槽位数量
discord.js 查询指定服务器emoji槽位方法
以下内容适用于discord.js v14及以上版本:
1. 获取总可用emoji槽位额度
你可以直接通过Guild实例的内置属性读取对应额度,无需自行根据服务器增压等级计算:
- 静态普通emoji总槽位:
guild.maximumEmojis - 动态emoji总槽位:
guild.maximumAnimatedEmojis
2. 获取剩余可用emoji槽位
剩余槽位 = 对应类型总槽位 - 当前服务器已上传的对应类型emoji数量,示例代码如下:
// guild为你已获取到的目标服务器Guild实例对象 // 统计当前服务器已有的静态、动态emoji数量 const staticEmojiCount = guild.emojis.cache.filter(emoji => !emoji.animated).size; const animatedEmojiCount = guild.emojis.cache.filter(emoji => emoji.animated).size; // 计算剩余可用槽位 const leftStaticEmojis = guild.maximumEmojis - staticEmojiCount; const leftAnimatedEmojis = guild.maximumAnimatedEmojis - animatedEmojiCount; console.log(`静态emoji剩余槽位:${leftStaticEmojis}`); console.log(`动态emoji剩余槽位:${leftAnimatedEmojis}`);
注意:以上统计的是普通自定义emoji的配额,不包含贴纸、活动专属emoji等其他类型的资源配额;使用前请确保你的bot已经被授予
GUILD_EMOJIS_AND_STICKERS权限,否则无法正常读取服务器emoji列表。
内容的提问来源于stack exchange,提问作者kesha
相关产品推荐
相关产品推荐

