(DiscordJS)如何检测表情符号?

时间:2020-09-29 16:30:09

标签: javascript node.js discord discord.js bots

所以我刚开始使用discord.js,并且一直在搜索,但是我真的找不到如何检测表情符号。回复一个对我有用的作品,如果我让它检测到“测试”之类的东西,它将以假笑的形式回复,但是将我到目前为止所看到的东西的不同部分放在一起之后,我提出了大约3种检测表情符号的解决方案这对我来说是最“合乎逻辑的”。他们都没有工作...如果有人可以帮助我,那就太好了!

const smirk = client.emojis.cache.get("760523853583351818");

if (message.content.toLowerCase() === "test") {
    message.channel.send(`${smirk}`); //this returns "undefined"
}

if (smirk) {
    if (message.content.startsWith("<:smirk:" + smirk.id + ">")) {
        message.channel.send("<:smirk:760523853583351818>");
    }
}

1 个答案:

答案 0 :(得分:1)

Unicode表情符号(对每个人来说都是全球通用的表情符号,而不是为服务器定制的)在文本内容中编码,就像其他任何字符(“ A”,“ 4”,“&”或表情符号)一样。他们没有使用Discord的特殊括号表示法(如果使用了,则您提供的代码应该可以使用。未经测试,但看起来不错)。

您可以像这样为表情符号做您想做的事情:

client.on("message", message => {
    if (message.author.bot) return;
    if (message.content.startsWith('?')) {
        message.channel.send('?');
    }
});