我正在 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");
}
}
但这不起作用,我看不出有什么问题。我知道自定义表情符号的书写方式需要略有不同,但机器人只对两个默认表情符号做出反应:对勾和十字。
答案 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');
}
如果您需要任何其他帮助,请在评论中告诉我并联系我。