表情符号对单独频道中机器人自己消息的反应

时间:2021-04-16 09:36:43

标签: javascript discord.js

我正在 Discord.js 中开发一个机器人。 它应该监听正在使用的命令,删除带有命令的消息,然后在单独的通道中发布命令消息的参数。

例如,如果我发送机器人 -say Stack Overflow is a good place to get help,它会在频道 #said-and-repeated 中发布“Stack Overflow 是获得帮助的好地方”。问题是它需要对两个表情符号做出反应,以便用户可以对它是否是一个好的提示进行投票。


代码:

var textToEcho = args.join(" ");
        if(args.length === 0){
            message.reply('you need to add a `message` to use this command!!');
        } else {
            message.delete();
            Client.channels.cache.get('where it will send the message').send(textToEcho).then(message => {
                message.react("emoji");
                message.react("emoji");
            }
        }

但这不起作用,我看不出有什么问题。我知道自定义表情符号的书写方式需要略有不同,但机器人只对两个默认表情符号做出反应:对勾和十字。

1 个答案:

答案 0 :(得分:0)

在 Discord.js 中做出反应与发送表情符号完全不同。

用本地表情符号做出反应:-

message.react("?")

// Don't use emoji name, use emoji symbol instead.

使用自定义表情符号做出反应:-

message.react("emojiID here")

您还说过,您想对机器人的消息做出反应。所以这件事是正确的,但是,您正在指示对用户的消息做出反应,即 *message*.react

这里你需要的是:-

//We declare that botMessage is bot's message send to channel

 let botMessage = await Client.channels.cache.get('where it will send the message').send(textToEcho).then{

   // We react here...
  await botMessage.react('emojiID or symbol');
  await botMessage.react('emojiID or symbol');

}

如果您需要任何其他帮助,请在评论中告诉我并联系我。