提问者:小点点

discord.js bot将不执行。那么


我正在尝试创建一个反应消息,但是每当我尝试在。中使用console.log时,它只在消息被删除后才执行它。

async execute(message) {
    const role = message.guild.roles.cache.find(r => r.name == 'Founder');
    if (!role) return message.channel.send(`**${message.author.username}**, role not found`);

    await message.delete();

    const filter = (reaction) => reaction.emoji.name === '✅';

    const ReactionMessage = await message.channel.send('React to this message to get the Founder role');

    ReactionMessage.react('✅');

    ReactionMessage.awaitReactions(filter, { max: 10, time: 15000 })
        .then(collected => console.log(collected.size))
        .catch(err => console.error(err));
}

我的最终目的是让它为所有响应它的用户添加一个角色,但它甚至不会安慰。记录收集的大小,直到我删除消息。有人能帮我把它弄好吗?


共2个答案

匿名用户

awaitMessages()仅在消息被删除或时间用完后才会解析。您可以做的是创建一个reactionCollector并等待collect事件。

以下是一些参考资料:https://discordjs.guide/population-topics/collectors.html#reaction-collectors,https://discord.js.org/#/docs/main/stable/class/message?scrollto=CreateReactionCollectors

匿名用户

尝试用console.log(collected.size)替换console.log(collected),看看效果如何。