![](/img/trans.png)
[英]How do I make discord bot have an emoji reaction after it sends its message in discord.js?
[英]Discord.js message after receiving emoji reaction
一旦先前的消息收到響應,是否可以使Discord機器人發送消息? 我在想類似的東西:
if(cmd === `${prefix}list`) {
var i = 0;
let embed = new Discord.RichEmbed()
.addField("List", "Content");
let anotherembed = new Discord.RichEmbed()
.addField("Message", "List has been completed!");
return message.channel.send(embed);
do {
message.channel.send(anotherembed + 1);
}
while (i !== 0) && (reaction.emoji.name === "✅");
}
那不是你應該做的。
您想要的是message.awaitReactions
。
有由DiscordJS團隊和社區有一個很好的例子一個很大的指導awaitReactions
。
這是他們使用的鏈接和示例:
message.react('👍').then(() => message.react('👎'));
const filter = (reaction, user) => {
return ['👍', '👎'].includes(reaction.emoji.name) && user.id === message.author.id;
};
message.awaitReactions(filter, { max: 1, time: 60000, errors: ['time'] })
.then(collected => {
const reaction = collected.first();
if (reaction.emoji.name === '👍') {
message.reply('you reacted with a thumbs up.');
}
else {
message.reply('you reacted with a thumbs down.');
}
})
.catch(collected => {
console.log(`After a minute, only ${collected.size} out of 4 reacted.`);
message.reply('you didn\'t react with neither a thumbs up, nor a thumbs down.');
});
基本上,您需要一個過濾器,該過濾器僅允許一定范圍的表情符號,並由用戶“使用”它們。
而且在您的代碼中的某處您有:
return message.channel.send(embed);
您應該刪除返回部分,否則它將返回並且不執行其余代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.