我试图让Discord机器人删除其系统消息"之后,比方说,10秒,因为我已经看到很多"无效的命令"错误和"完成!"通知,我想清除它们的实际消息。这与删除用户拥有命令的消息不同;我已经具备了这种能力。
答案 0 :(得分:11)
当前的API与旧版本不同。正确的超时方法现在看起来像这样。
message.reply('Invalid command!')
.then(msg => {
msg.delete({ timeout: 10000 })
})
.catch(console.error);
Discord.js v12
答案 1 :(得分:8)
我建议您发送消息,等待响应并在此之后删除返回的消息。以下是它的工作原理:
message.reply('Invalid command')
.then(msg => {
msg.delete(10000)
})
.catch(/*Your Error handling if the Message isn't returned, sent, etc.*/);
正如您可以从the Docs读取的那样,您只需将一个以毫秒为单位的值传递给Message.delete()
作为超时。
答案 2 :(得分:0)
每个 Discord.JS 版本都有一种新的超时删除方式。
Discord.JS V11:
message.channel.send('Test!').then(msg => msg.delete(10000));
Discord.JS V12:
message.channel.send('Test!').then(msg => msg.delete({timeout: 10000}));
Discord.JS V13:
setTimeout(() => message.delete(), 10000);