首页 > 解决方案 > Discord.js 从 message.content 获取 Unicode 表情符号

问题描述

我目前正在尝试创建一个机器人,该机器人对一条消息做出反应,该消息使用 ping 它的消息中包含的任何表情符号对其进行 ping 操作(例如@Robot#1234 :robot:,会得到:robot:反应)。我很容易弄清楚如何识别发送的表情符号,并且对自定义表情做出反应很容易(就像你可以做的那样message.react("<:customRobot:12345>");)。但是,正如每个谷歌列表都会告诉你的那样,如果你要使用它,你必须得到你想要反应的任何表情符号的实际 unicode 表示,所以你不能只做message.react("<:robot:838287833931317288>");.

话虽如此:有没有办法动态地查找 <: name: id> Unicode 表情符号的表示并将其转换为 Unicode 表情符号的实际字符串形式?(这:robot:将是)

标签: javascriptunicodediscorddiscord.js

解决方案


看起来 emoji-name-map 模块在这里可能会有所帮助:https ://github.com/IonicaBizau/emoji-name-map 。包括从字符串格式到字符本身的转换(即 unicode 表示),我认为您可以message.react在 discord.js 中使用它。

附加功能:还有一个模块 emoji-unicode ( https://github.com/IonicaBizau/emoji-unicode ) 如果您真的需要它们,可以从字符本身获取原始 unicode 值,或者还有其他一些堆栈溢出答案可以解释如果您不想导入库,如何手动执行此操作:请参阅https://stackoverflow.com/a/48419805https://stackoverflow.com/a/37729608


推荐阅读