【发布时间】:2021-09-24 05:05:41
【问题描述】:
我已经在我的 Bot 中编写了这段代码,但它不能正常工作。 awaitReactions()函数总是超时:
message.channel.send({ embed: hEmbed }).then(embedreacted => {
embedreacted.react('????').then(() => embedreacted.react('????'));
const filter = (reaction, user) => {
console.log("user \n" + user)
return ['????', '????'].includes(reaction.emoji.name) && user.id === message.author.id;
};
embedreacted.awaitReactions(filter, { max: 1, time: 20000, errors: ['time'] })
.then(collected => {
console.log("col" + collected)
const reaction = collected.first();
if (reaction.emoji.name == '????') {
let hlembed = new Discord.MessageEmbed()
Embed
embedreacted.edit({ embed: hlembed });
} else if (reaction.emoji.name === '????') {
let hfEmbed = new Discord.MessageEmbed()
Embed
embedreacted.edit({ embed: hfEmbed });
}
for (const [key, value] of Object.entries(reaction)) {
console.log(key, value);
}
})
.catch(collected => {
console.log("collected \n" + collected.keys())
});
【问题讨论】:
-
@Toasty - 你知道为什么这不起作用吗?
-
你想永远听听对此消息的反应还是只听 20 秒?
-
@Toasty - 仅持续 20 秒,但 awaitReactions 函数没有给出结果
-
也许this answer 可以解决您的问题
-
@Toasty - 现在他做了他应该做的事情,但当机器人自己对它做出反应时他也这样做了,我只希望机器人只在消息作者时做某事有反应,但是当我尝试添加“&& user.id === message.author.id”时它不再起作用了。
标签: javascript node.js discord.js bots