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 发送的消息 作为回复我的消息?
答案 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))
}
});