Emoji 必须是字符串或 Emoji/ReactionEmoji 从获取自定义表情

Posted

技术标签:

【中文标题】Emoji 必须是字符串或 Emoji/ReactionEmoji 从获取自定义表情【英文标题】:Emoji must be a string or Emoji/ReactionEmoji from getting a custom emote 【发布时间】:2019-01-12 20:35:15 【问题描述】:

我正在尝试让我的机器人对特定用户发送的每条消息都使用自定义表情做出反应。 我目前的代码是:

if (msg.content.startsWith("")) 
            msg.react(msg.guild.emojis.get("475766563719479296"))
        

即使我检查了所有内容,我仍然收到此错误:

(node:13640) UnhandledPromiseRejectionWarning: TypeError: Emoji must be a string or Emoji/ReactionEmoji
at Message.react (C:\Users\Lars\Documents\Bots\Support Bot [Resanance]\node_modules\discord.js\src\structures\Message.js:437:23)
at Client.client.on (C:\Users\Lars\Documents\Bots\Support Bot [Resanance]\index.js:40:17)
at Client.emit (events.js:182:13)
at MessageCreateHandler.handle (C:\Users\Lars\Documents\Bots\Support Bot [Resanance]\node_modules\discord.js\src\client\websocket\packets\handlers\MessageCreate.js:9:34)
at WebSocketPacketManager.handle (C:\Users\Lars\Documents\Bots\Support Bot [Resanance]\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:103:65)
at WebSocketConnection.onPacket (C:\Users\Lars\Documents\Bots\Support Bot [Resanance]\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35)
at WebSocketConnection.onMessage (C:\Users\Lars\Documents\Bots\Support Bot [Resanance]\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:296:17)
at WebSocket.onMessage (C:\Users\Lars\Documents\Bots\Support Bot [Resanance]\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:182:13)
at Receiver._receiver.onmessage (C:\Users\Lars\Documents\Bots\Support Bot [Resanance]\node_modules\ws\lib\websocket.js:137:47)

我不知道有什么问题。 有人可以帮我吗?

编辑: 我确实尝试过msg.react("475766563719479296"),但它只是错误未知表情符号。

【问题讨论】:

你能再贴一些上下文代码吗? 您是否尝试过使用msg.react("475766563719479296") 【参考方案1】:

尝试改用这个:

const like = client.emojis.find(emoji => emoji.name === "like");

const dislike = client.emojis.find(emoji => emoji.name === "dislike");

message.react(like);

message.react(dislike);

【讨论】:

【参考方案2】:

没关系,原来我复制了错误的 ID

【讨论】:

以上是关于Emoji 必须是字符串或 Emoji/ReactionEmoji 从获取自定义表情的主要内容,如果未能解决你的问题,请参考以下文章

在 Mac 应用程序中显示 Emoji 图标

emoji纸飞机表情符号怎么输入

iOS 输入框如何限制字符长度和emoji

在 Web 上显示 iOS emoji unicode 字符

求php过滤ios的Emoji表情的方法,如果字符串中包含Emoji表情就删除。

去除字符串中的emoji字符