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)
message.delete不再接受该options参数。
现在必须使用 来完成超时setTimeout。请参阅官方指南。
//message.delete({ timeout: 3000 }) in v12 is now
setTimeout(() => message.delete(), 3000)
Run Code Online (Sandbox Code Playgroud)