【发布时间】:2021-06-29 15:39:18
【问题描述】:
在过去的几天里,我一直在尝试制作一个命令,让它对带有自定义表情的消息做出反应。它在控制台中给了我一个错误:
TypeError [EMOJI_TYPE]: Emoji must be a string or GuildEmoji/ReactionEmoji
at Message.react (E:\Projects\DiscordBots\node_modules\discord.js\src\structures\Message.js:546:23)
at Client.<anonymous> (E:\Projects\DiscordBots\LordMoth\moth.js:98:17)
at Client.emit (events.js:327:22)
at MessageCreateAction.handle (E:\Projects\DiscordBots\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (E:\Projects\DiscordBots\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (E:\Projects\DiscordBots\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
at WebSocketShard.onPacket (E:\Projects\DiscordBots\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
at WebSocketShard.onMessage (E:\Projects\DiscordBots\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
at WebSocket.onMessage (E:\Projects\DiscordBots\node_modules\ws\lib\event-target.js:132:16)
at WebSocket.emit (events.js:315:20) {
[Symbol(code)]: 'EMOJI_TYPE'
}
我尝试了How Find Emojis By Name In Discord.js 和Emoji must be a string or Emoji/ReactionEmoji from getting a custom emote 的答案,但没有运气。我也在表情所在公会的频道中发送消息。
我当前的代码:
client.on("message", message => {
if (message.content === "ok") {
const mfi = message.guild.emojis.cache.find(emoji => emoji.name === "MOTHIFEST");
message.react(mfi);
}
});
我尝试使用 discord.js 文档 (https://discord.js.org/#/docs/main/stable/class/Message?scrollTo=react) 中实际包含的表情 ID 的另一个解决方案:
client.on("message", message => {
if (message.content === "ok") {
message.react(message.guild.emojis.cache.get("824436212034830356"));
.then(console.log)
.catch(console.error);
}
});
我很困惑。请帮帮我。
【问题讨论】:
-
您是否尝试过记录
mfi的值是多少? -
@ZsoltMeszaros 我刚刚尝试过,但它仍然给我同样的错误。
-
嗯,是的,你应该注释掉 message.react(mfi) 然后 :) 你也可以使用这个记录表情符号名称和 ID 的列表:
message.guild.emojis.cache.each((e) => console.log(${e.id}: $ {e.name}))这样您就可以查看您要查找的那个是否存在。
标签: javascript node.js discord discord.js