嗨,我是新来的,我试图删除机器人最后发送的消息,但我不能这样做,你能帮我解决这个问题吗
我已经试过了(但它不起作用):
if (msg.author.bot) msg.delete()
还有这个:
setTimeout(() => message.delete(), 3000);
我的代码:
module.exports = {
name: "resetuj",
description: "Resetuje konto gracza!",
async run(client, message) {
const args = message.content.trim().split(/ +/);
const Nadano = new MessageEmbed()
.setTitle("Nie posiadasz permisji do tej komendy!")
.setColor(0x0EC0E7)
.setTimestamp('')
.setThumbnail('https://cdn.discordapp.com/avatars/814587842071101530/2b018bbe88c48b277a50145a404cdaea.png?size=512')
.setDescription("**Komenda dla administracji! #?|???????-?????? **")
message.channel.send(Nadano);
setTimeout(() => message.delete(), 3000);
}
答案 0 :(得分:1)
Message.author.id
返回没有 .delete()
方法的雪花。您需要解决 message.channel.send()
返回的承诺并在该回调函数内调用 setTimeout
,以便您可以访问新发送的消息对象:
message.channel.send(Nadano)
.then(msg => {
setTimeout(() => msg.delete(), 3000)
})
或者如下所述,如果您在 await
函数中,您可以改用 async
:
const msg = await message.channel.send(Nadano);
setTimeout(() => msg.delete(), 3000);