删除消息 Discord.js v.13

I n*_*elp 1 discord discord.js

我试图在发送消息几秒钟后删除该消息。我注意到我的 Discord v.12 代码不再起作用。有人能告诉我替代品.then(m => m.delete({ timeout: 3000 }))是什么吗?

我的 v.12 代码:


    else if (parts[0] == prefix + 'c') {
        if (!message.member.hasPermission('MANAGE_MESSAGES')) return message.channel.send("You don't have permission to do that!")
        if (!parts[1]) return message.channel.send('You forgot the number').then(m => m.delete({ timeout: 3000 }))
        if (isNaN(parts[1])) return message.channel.send('You need a number').then(m => m.delete({ timeout: 3000 }))
        if (parts[1] > 100) return message.channel.send("You can't delete more than 100 messages").then(m => m.delete({ timeout: 3000 }))
        if (parts[1] < 2) return message.channel.send('You need to delete at least 2 messages').then(m => m.delete({ timeout: 3000 }))
        message.channel.bulkDelete(parts[1])
        message.channel.send(`I deleted ${parts[1]} messages`).then(m => m.delete({ timeout: 3000 }))
Run Code Online (Sandbox Code Playgroud)

我的 v.13 代码:


   case 'c':
        case 'C':

            let parts = message.content.split(" ");
            if (!message.member.permissions.has(Discord.Permissions.FLAGS.MANAGE_ROLES)) return;
            if (!parts[1]) return message.channel.send('You need a number!')
            if (isNaN(parts[1])) return;
            if (parts[1] > 100) return;
            if (parts[1] < 2) return;
            message.channel.bulkDelete(parts[1]);


            break;
Run Code Online (Sandbox Code Playgroud)

MrM*_*cal 5

message.delete不再接受该options参数。

现在必须使用 来完成超时setTimeout。请参阅官方指南

//message.delete({ timeout: 3000 }) in v12 is now
setTimeout(() => message.delete(), 3000)
Run Code Online (Sandbox Code Playgroud)