发送消息并立即删除
Send message and shortly delete it
我正在尝试让 Discord 机器人在比方说 10 秒后删除它的 "system messages",因为我已经看到很多 "Invalid command" 错误和 "Done!" 通知,我想清除它们以获取实际消息。这不同于删除用户有命令的消息;我已经有那个能力了。
我建议您发送消息,等待回复,然后删除返回的消息。这是它现在的工作方式:
message.reply('Invalid command')
.then(msg => {
setTimeout(() => msg.delete(), 10000)
})
.catch(/*Your Error handling if the Message isn't returned, sent, etc.*/);
有关 setTimeout()
的信息,请参阅 the Discord.JS Docs for more information about the Message.delete()
function and the Node Docs。
旧的 方法是:
Discord.JS v12:
message.reply('Invalid command')
.then(msg => {
msg.delete({ timeout: 10000 })
})
.catch(/*Your Error handling if the Message isn't returned, sent, etc.*/);
Discord.JS v11:
message.reply('Invalid command')
.then(msg => {
msg.delete(10000)
})
.catch(/*Your Error handling if the Message isn't returned, sent, etc.*/);
当前 API 与旧版本不同。现在传递超时的正确方法如下所示。
Discord.js v13
message.reply('Invalid command!')
.then(msg => {
setTimeout(() => msg.delete(), 10000)
})
.catch(console.error);
Discord.js v12
message.reply('Invalid command!')
.then(msg => {
msg.delete({ timeout: 10000 })
})
.catch(console.error);
每个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:
message.channel.send('Test!').then(msg => setTimeout(() => msg.delete(), 10000));
时间以毫秒为单位
我正在尝试让 Discord 机器人在比方说 10 秒后删除它的 "system messages",因为我已经看到很多 "Invalid command" 错误和 "Done!" 通知,我想清除它们以获取实际消息。这不同于删除用户有命令的消息;我已经有那个能力了。
我建议您发送消息,等待回复,然后删除返回的消息。这是它现在的工作方式:
message.reply('Invalid command')
.then(msg => {
setTimeout(() => msg.delete(), 10000)
})
.catch(/*Your Error handling if the Message isn't returned, sent, etc.*/);
有关 setTimeout()
的信息,请参阅 the Discord.JS Docs for more information about the Message.delete()
function and the Node Docs。
旧的 方法是:
Discord.JS v12:
message.reply('Invalid command')
.then(msg => {
msg.delete({ timeout: 10000 })
})
.catch(/*Your Error handling if the Message isn't returned, sent, etc.*/);
Discord.JS v11:
message.reply('Invalid command')
.then(msg => {
msg.delete(10000)
})
.catch(/*Your Error handling if the Message isn't returned, sent, etc.*/);
当前 API 与旧版本不同。现在传递超时的正确方法如下所示。
Discord.js v13
message.reply('Invalid command!')
.then(msg => {
setTimeout(() => msg.delete(), 10000)
})
.catch(console.error);
Discord.js v12
message.reply('Invalid command!')
.then(msg => {
msg.delete({ timeout: 10000 })
})
.catch(console.error);
每个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:
message.channel.send('Test!').then(msg => setTimeout(() => msg.delete(), 10000));
时间以毫秒为单位