【问题标题】:How to make bot send message to another channel after reaction | Discord.js如何让bot在反应后将消息发送到另一个频道|不和谐.js
【发布时间】:2020-10-27 05:16:11
【问题描述】:

如何做到这一点,以便当有人对此命令中的第一个表情符号做出反应时,机器人会删除该消息并将其发送到另一个频道?

当前代码:

const Discord = require("discord.js");

module.exports.run = async (bot, message, args) => {
  if (!message.member.hasPermission("MANAGE_MESSAGES"))
    return message.channel.send("You are not allowed to run this command.");
  let botmessage = args.join(" ");
  let pollchannel = bot.channels.cache.get("716348362219323443");
  let avatar = message.author.avatarURL({ size: 2048 });

  let helpembed = new Discord.MessageEmbed()
    .setAuthor(message.author.tag, avatar)
    .setColor("#8c52ff")
    .setDescription(botmessage);

  pollchannel.send(helpembed).then(async msg => {
    await msg.react("715383579059945512");
    await msg.react("715383579059683349");
  });
};
module.exports.help = {
  name: "poll"
};

【问题讨论】:

    标签: javascript node.js bots discord discord.js


    【解决方案1】:

    您可以使用awaitReactionscreateReactionCollectormessageReactionAdd 事件,我认为awaitReactions 是这里的最佳选择,因为其他两个用于更全球化的目的,

    const emojis = ["715383579059945512", "715383579059683349"];
    pollchannel.send(helpembed).then(async msg => {
        
        await msg.react(emojis[0]);
        await msg.react(emojis[1]);
    
        //generic filter customize to your own wants
        const filter = (reaction, user) => emojis.includes(reaction.emoji.id) && user.id === message.author.id;
        const options = { errors: ["time"], time: 5000, max: 1 };
        msg.awaitReactions(filter, options)
            .then(collected => {
                const first = collected.first();
                if(emojis.indexOf(first.emoji.id) === 0) {
                    msg.delete();
                    // certainChannel = <TextChannel>
                    certainChannel.send(helpembed);
                } else {
                    //case you wanted to do something if they reacted with the second one
                }
            })
            .catch(err => { 
               //time up, no reactions 
            });
    });
    

    【讨论】:

      猜你喜欢
      • 2020-05-07
      • 1970-01-01
      • 2018-11-24
      • 2020-04-13
      • 2019-04-11
      • 2021-01-19
      • 1970-01-01
      • 2021-02-12
      • 1970-01-01
      相关资源
      最近更新 更多