当前位置: 首页 > 知识库问答 >
问题:

JDA不和谐机器人从文本通道删除所有消息

袁波
2023-03-14

我正在尝试让我的JDA discord bot删除文本频道中的所有消息,目前我使用的代码效率极低,偶尔有效,有时无效。代码

    {
        List<Message> msgs;

        msgs = textChannel.getHistory().retrievePast(50).complete();
        textChannel.deleteMessages(msgs).queue();
    }

我知道一个事实,我正在调用函数,我知道一个事实,正在传递的文本通道是正确的。请帮我同样的忙。

共有1个答案

单于越
2023-03-14

我能想到的最快、最有效的方法是克隆频道并删除旧频道。

试着这样做:

textChannel.createCopy().queue();
textChannel.delete().queue();
 类似资料:
  • 我想让我的机器人在这个服务器上发布来自所有6个频道的引脚,但是,我的机器人只从调用命令的当前频道获得引脚。我想知道是否有办法解决这个问题。不和谐版本1.0.0A 我目前掌握的代码是: 以下代码从存在此机器人的所有服务器检索用户详细信息。我想知道在第一个代码片段中是否应该使用公会而不是通道?这给了我一个错误的结果。

  • 我希望我的Discord jda bot在启动后读取textchannel的最后一条消息。 所以我打电话: MessageHistory类没有getLatestMessage方法。出于某种原因,我选择了短信频道。getHistory()始终为空,因此始终返回null。 是否有其他方法读取消息(在机器人启动之前编写)。 一些附加信息:文本频道是正确的文本频道。它不是空的,我也试着在机器人活跃的时候写

  • 我使用Python3.6idle编写了一个bot,我想添加一个命令,但我不知道如何添加它。你们中的一些人能帮我举一些例子或建议吗?我会很高兴的,谢谢。

  • 我尝试了一个清除命令,它删除用户想要的不和谐频道中的消息量。然而,没有成功。 我希望机器人删除指定的消息量。然而,它没有回应。我已经使用了这种如果语句的方法来执行其他命令,比如检查你的ping,所以它很可能是删除消息的东西。

  • 我想在JDA中迭代一个通道中的所有消息,但我不知道怎么做。我曾试图了解它的历史,但我认为它没有给我任何有用的东西。我试着看了一下这些文件,但找不到任何有用的东西。如果可能的话,我正在尝试获取一个列表或数组列表,以便将每条消息添加到一个文件中。

  • 我试图删除所有消息从一个渠道使用不和谐的机器人,但唯一的命令删除消息,我发现是 它一次只删除一条消息,我想清除所有可以使用的命令?