让机器人在超时后删除自己的消息
Posted
技术标签:
【中文标题】让机器人在超时后删除自己的消息【英文标题】:Making a bot delete its own message after a timeout 【发布时间】:2018-12-29 08:06:46 【问题描述】:我希望我的机器人发送一条消息,确认它执行了命令,然后在超时后删除该确认消息;以免使聊天混乱。
这是我希望将其应用于当前命令的代码示例:
exports.auth = 1
exports.run = (client, message, args) =>
let num = parseInt(args);
message.channel.bulkDelete(num+1)
.then(messages => console.log(`Bulk deleted $num messages`))
.catch(console.error);
message.channel.send(`Deleted $num messages!`);
message.delete(5000);
;
如果我没有在 Message.delete() 中设置时间;行,它只是删除我发送的消息。如果机器人发送消息的时间足够长,它只会给我一个错误。
【问题讨论】:
为什么不立即删除消息?你没有做任何事情来拖延它。 【参考方案1】:您需要获取您发送的消息才能将其删除。
message.channel.send(`Deleted $num messages!`).then(sentMessage =>
sentMessage.delete(5000);
);
这将发送消息,消息发送后它会返回它,以便您管理它(删除/编辑)。
【讨论】:
以上是关于让机器人在超时后删除自己的消息的主要内容,如果未能解决你的问题,请参考以下文章
如何让我的机器人在特定频道中发送消息,然后在一段时间后将其删除
如何让我的 Discord.JS 机器人对其自己的直接消息做出反应?