【问题标题】:AwaitingReactions is practically not working on mine. Discord.jsAwaitingReactions 实际上不适用于我的。不和谐.js
【发布时间】:2022-02-08 14:48:48
【问题描述】:

我不知道为什么,但我遵循了 discord.js 中关于等待反应的指南,但它似乎对我不起作用。我不知道为什么。每当我点击表情符号时,它就不会收集它。我几乎在 stackoverflow 中回答了每个已回答的问题,但我仍然无法解决它。

const { Client, Message, MessageEmbed } = require("discord.js");

module.exports = {
  name: "error",
  /**
   * @param {Client} client
   * @param {Message} message
   * @param {String[]} args
   */
  run: async (client, message, args) => {
    message.delete({ timeout:2000 })
    var randstr = Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 5);
    var randnum = Math.floor(Math.random() * 100);
    var comb = randstr + randnum;
    var sayEmbed = new MessageEmbed()
        .setTitle('Console Error #'+ '`' + comb + '`' + ' sent by ' + message.member.user.tag)
        .setDescription('```' + args.join(" ") + '```')
        .setTimestamp()
        .setColor("BLACK")
        .setTimestamp()
        .setFooter("Copyright ©️  2022, Mythic Realms, or its associates. All Rights Reserved.")

    message.channel.send({embed: sayEmbed}).then(embedMessage => {
    embedMessage.react('✅');
    })
    
        const filter = (reaction, user) => reaction.emoji.name === '✅' && user.id === message.author.id;
        const collector = message.createReactionCollector(filter, { max: 1, time: 5 * 60 * 1000 });
        
    collector.on('collect', () => {
      message.clearReactions();

      console.log('SUCCESS');
    });
  },
};

请帮助这个机器人:

【问题讨论】:

  • 您是否在您的意图中添加了Intents.FLAGS.GUILD_MESSAGE_REACTIONS 意图?
  • 是的,我确实添加了 Intent。

标签: javascript node.js discord discord.js


【解决方案1】:

您正在message 创建一个消息收集器,而反应本身在embedMessage

embedMessage.createReactionCollector 是正确的。

另外,说embedMessage是在message.send().then()的范围内

您可以将message.send() 承诺的返回值分配给同一级别的embedMessage,以便收集器可以访问它,也可以在then() 函数中从message.send() 设置收集器

const embedMessage = await message.send(...);
const collector = embedMessage.createReactionCollector(...);

message.send(...).then(embedMessage => {
  const collector = embedMessage.createReactionCollector(...);
});

【讨论】:

  • 非常感谢!
猜你喜欢
  • 1970-01-01
  • 2021-05-09
  • 2016-02-20
  • 2023-02-14
  • 2021-03-14
  • 2012-06-19
  • 2021-06-18
  • 2023-03-31
  • 2015-10-14
相关资源
最近更新 更多