用户反应后删除消息

时间:2021-03-06 05:16:34

标签: node.js discord discord.js

我正在尝试在我的机器人中创建一个函数,当我说 $addlist 时,它会向我的 Discord 服务器中的待办事项频道发送一条消息。我已经实现了对消息的发送和反应,但是当我对它做出反应时,我不知道如何删除待办事项。 代码如下:

exports.run = (client, message, args) => {
  var Discord = require("discord.js");
    let msg = message.content.slice(9);
  if (message.author.id !== "502823349110571008") return;
    const embed = new Discord.MessageEmbed()
    .setTitle("New To-Do incoming.")
    .setDescription("```" + msg + "```")
    .setFooter("Sent")
    .setTimestamp()
    .setColor("YELLOW");
   client.channels.cache.get(`817477111509024819`).send(embed).then(m => {
       m.react("❌")
   })
}

1 个答案:

答案 0 :(得分:1)

编辑: 聆听所有添加的反应并过滤:


 client.on("messageReactionAdd", (reaction, user) => {

  if (user === client.user) return;

  if (reaction.message.channel.id === "817477111509024819") {

   if (reaction.emoji.name === "❌") {

    reaction.message.delete();

   }

  }

 });

旧的(在这种情况下不起作用):

对消息做出反应后,您可以执行以下操作:

// ...
client.channels.cache.get(`817477111509024819`).send(embed).then(m => {

 m.react("❌").then(() => { // React to message

  m.awaitReactions((r, u) => r.emoji.name === "❌").then(() => { // Await reaction with emoji name "❌"

   m.delete(); // Delete the message

  ));

 });

});