【问题标题】:Deleting all messages from somebody on Discord删除 Discord 上某人的所有消息
【发布时间】:2020-08-26 02:25:45
【问题描述】:

我正在尝试制作一个机器人来删除来自另一个机器人的所有消息。一个机器人发生故障并发送了一大堆垃圾邮件,所以我想删除这些邮件,这将花费很长时间。

【问题讨论】:

  • 好的,那么您到底需要什么帮助?听起来你已经编写了一个成功的机器人,所以你已经掌握了连接到不和谐的基础知识:我想接下来的步骤是找到另一个机器人用户,搜索他们的所有消息(在服务器中全局搜索,或者逐个频道遍历频道列表?)然后在每条消息上调用删除?您需要哪方面的帮助?
  • 我需要帮助编写删除某个用户的消息的命令。会不会是类似 message.delete.all(from{@user})
  • 你使用的是什么版本的 discord.js?
  • 我使用的是 12.2.0 版本
  • 我认为您拥有的最佳 API 是 TextChannel.bulkDelete,看起来它希望获得消息 ID 列表,而不是简单的“来自用户”过滤器。但我可能错了,我不太了解discord-js。

标签: discord discord.js


【解决方案1】:

您可以从频道中获取所有消息。然后按用户ID过滤并删除

在您的帖子中,您说您的机器人发送了垃圾邮件,因此此代码用于删除您的机器人的消息

message.channel.messages.fetch().then(messages => {
    const botMessages = messages.filter(msg => msg.author.bot);
    message.channel.bulkDelete(botMessages);
})

【讨论】:

    猜你喜欢
    • 2020-08-24
    • 2021-10-18
    • 2017-12-24
    • 2019-02-20
    • 2018-11-07
    • 2021-05-14
    • 2021-06-30
    • 2019-04-24
    • 2019-03-18
    相关资源
    最近更新 更多