我如何不删除我的消息,而是删除发送机器人给我的消息?

时间:2021-03-11 19:26:20

标签: javascript node.js discord.js

client.on('message', async (message) => {
    if (message.author.bot) return;
    if (message.content.startsWith('-queue open ')) {
    message.content = message.content.replace('-queue open ', '')
    message.channel.send(`Queue has been created with number of members: ${message.content}`).then(m => setTimeout(() => {
        message.delete()
    }, 2000))
}
});

我如何使用函数 message.delete() 来删除 bot 发送的消息 作为回复我的消息?

1 个答案:

答案 0 :(得分:0)

我想您已经得到了答案,但是您使用了错误的消息对象。在您的代码中,message 是来自用户的消息。当您调用 message.channel.send 时是 returns a Promise,其中包含新发送的消息。您将此新消息分配给参数 m。所以解决方案应该是 m.delete() 而不是 message.delete()

client.on('message', async (message) => {
   if (message.author.bot) return;
   if (message.content.startsWith('-queue open ')) {
      message.content = message.content.replace('-queue open ', '')
      message.channel.send(`Queue has been created with number of members: ${message.content}`)
     .then(m => setTimeout(() => { m.delete() }, 2000))
   }
 });