【问题标题】: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() 中设置时间;行,它只是删除我发送的消息。如果机器人发送消息的时间足够长,它只会给我一个错误。

【问题讨论】:

  • 为什么不立即删除消息?你没有做任何事情来拖延它。

标签: javascript bots discord discord.js


【解决方案1】:

您需要获取您发送的消息才能将其删除。

message.channel.send(`Deleted ${num} messages!`).then(sentMessage => {
    sentMessage.delete(5000);
});

这将发送消息,消息发送后它会返回它,以便您管理它(删除/编辑)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 2020-11-08
    • 2020-04-08
    相关资源
    最近更新 更多