首页 > 解决方案 > Discord.js 反应收集器什么也不做

问题描述

     const newUserEmbed = await message.reply({ embeds: [reportEmbed]});
        console.log(`User Report Created (reportCreated = true)`);

        try {
            await newUserEmbed.react("");
            await newUserEmbed.react("❌");
            await newUserEmbed.react("❓");
        } catch (err) {
          message.channel.send('`ERROR: Reactions Error`');
          throw err;
        };

        const collector = newUserEmbed.createReactionCollector(
          (reaction, user) => message.guild.members.cache.find((member) => member.id === user.id).hasPermission("MANAGE_CHANNELS"),
          { dispose: true }
        );

        collector.on('collect', (message, reaction, user) => {
            console.log('Collecting Reactions for User Report (collectorRun = true)');
            switch (reaction.emoji.name){
                case "":
                  newUserEmbed.delete();
                  message.reply(`This report for ${args[1]} has been marked as completed.`);
                  break;
                case "❌":
                  newUserEmbed.delete();
                  message.reply(`This report for ${args[1]} has been declined.`);
                  break;
                case "❓":
                  newUserEmbed.delete();
                  message.reply(`This report for ${args[1]} has been marked as inconclusive.`);
                  break;
            }
        });

我正在尝试创建一个允许用户轻松报告用户的命令。所有代码都可以工作(例如嵌入、按钮、添加反应),除了反应收集器。机器人能够对消息做出反应,但点击反应什么也不做。在检查错别字或其他小问题后,我不知道为什么会发生这种情况。

我已经阅读了有关 Stack Overflow 的类似问题,但答案似乎对我没有帮助。

标签: discord.js

解决方案


推荐阅读