我正在尝试在我的机器人中创建一个函数,当我说 $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("❌")
})
}
答案 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
));
});
});