如何处理 discord 上的 "Maximum number of emojis reached (50)" 错误?
How can I handle the "Maximum number of emojis reached (50)" error on discord?
所以我一直在发出命令从不同的服务器窃取表情符号,我只是想处理错误,但似乎无法处理这个错误,除非它仍然像疯子一样在我的控制台中抛出错误...
DiscordAPIError: Maximum number of emojis reached (50)
有没有什么方法可以处理这个错误,这样它就不会使机器人崩溃,而只是简单地通知用户他们不能在他们的服务器中添加更多的表情符号?
您可以检查服务器当前有多少表情符号,没有什么比这更难的了。
这只是一个示例,因为您没有提供任何代码,所以您需要弄清楚如何解决这个问题。
const serverTier = message.guild.premiumTier;
let maxSize = 50;
if(serverTier == "TIER_1") maxSize = 100
elseif(serverTier == "TIER_2") maxSize = 150
elseif(serverTier == "TIER_3") maxSize = 250
if(message.guild.emojis.cache.size >= maxSize) return message.reply("No can do");
使用 Guild.premiumTier
你会得到服务器提升服务器所在层级的响应,这会影响表情符号插槽。所以这样你就可以计算公会可以拥有表情符号的数量,然后检查他们是否有那么多。
所以我一直在发出命令从不同的服务器窃取表情符号,我只是想处理错误,但似乎无法处理这个错误,除非它仍然像疯子一样在我的控制台中抛出错误...
DiscordAPIError: Maximum number of emojis reached (50)
有没有什么方法可以处理这个错误,这样它就不会使机器人崩溃,而只是简单地通知用户他们不能在他们的服务器中添加更多的表情符号?
您可以检查服务器当前有多少表情符号,没有什么比这更难的了。
这只是一个示例,因为您没有提供任何代码,所以您需要弄清楚如何解决这个问题。
const serverTier = message.guild.premiumTier;
let maxSize = 50;
if(serverTier == "TIER_1") maxSize = 100
elseif(serverTier == "TIER_2") maxSize = 150
elseif(serverTier == "TIER_3") maxSize = 250
if(message.guild.emojis.cache.size >= maxSize) return message.reply("No can do");
使用 Guild.premiumTier
你会得到服务器提升服务器所在层级的响应,这会影响表情符号插槽。所以这样你就可以计算公会可以拥有表情符号的数量,然后检查他们是否有那么多。