我尝试了一个清除命令,它删除用户想要的不和谐频道中的消息量。然而,没有成功。
public void onGuildReceived(GuildMessageReceivedEvent event) {
Message objMsg = event.getMessage();
String[] args = objMsg.getContentRaw().split("");
if(args[0].equalsIgnoreCase(Ref.prefix + "purge")) {
if(args.length <= 2) {
//TODO
}else {
event.getMessage().delete().queue();
TextChannel target = event.getMessage().getMentionedChannels().get(0);
purgeMessages(target, Integer.parseInt(args[2]));
}
}
}
private void purgeMessages(TextChannel channel, int numberofMessages) {
MessageHistory history = new MessageHistory(channel);
List<Message> msgs;
msgs = history.retrievePast(numberofMessages).complete();
channel.deleteMessages(msgs).queue();
}
我希望机器人删除指定的消息量。然而,它没有回应。我已经使用了这种如果语句的方法来执行其他命令,比如检查你的ping,所以它很可能是删除消息的东西。
频道。删除消息(MSG)。队列()
,如JDA文档所述,“批量删除消息列表。这与在循环中调用Message.delete()不同。”JDA文档没有提到的一点是,discord将批量删除限制为只对不到2周的消息进行。因此,要删除旧邮件,您必须逐个删除它们。这是几个月前实施的限制。
我所知道的其他可能的问题在文档中有所陈述,最常见的是不遵守这些:
必须至少有两封邮件,且一次不能超过100封。如果只有一封邮件,请改用message.delete()方法
“您必须拥有此频道中的权限消息\u MANAGE才能使用此功能。”
我使用Python3.6idle编写了一个bot,我想添加一个命令,但我不知道如何添加它。你们中的一些人能帮我举一些例子或建议吗?我会很高兴的,谢谢。
请不要说“已经回答”,因为我尝试了一切,包括这里的所有相关帖子,显然,我正在阅读api文档。 完全错误为: 忽略on_ready Traceback(最近一次调用)中的异常:文件“/usr/local/lib/python3.8/dist packages/discord/client.py”,第312行,在on_ready wait channel中的事件wait coro(*args,**kw
我正在尝试让我的JDA discord bot删除文本频道中的所有消息,目前我使用的代码效率极低,偶尔有效,有时无效。代码: 我知道一个事实,我正在调用函数,我知道一个事实,正在传递的文本通道是正确的。请帮我同样的忙。
我使用repl。它让我的不和机器人。我使用Python并遵循本教程: https://www.youtube.com/watch?v=SPTfmiYiuok 这是我的代码:
我正在尝试制作一个Python Discord机器人,它首先可以删除通道中的消息。我希望它是以《终结者3》为主题的,这样它会由用户说天网开始,然后机器人要求激活Y或N?当用户输入Y时,它会删除频道中的所有消息,如果用户输入N,它会说审判日不可避免。任何帮助都将不胜感激。
我正在尝试制作一个机器人,每4小时发送一次自动消息,但由于某些原因,它无法工作。我查看了所有的google和stack overflow,但没有一个答案能帮助我。不和谐是否改变了机器人发送消息的方式? 如果我试图运行这个代码,它会给我这个错误 任何帮助将不胜感激并感谢您的时间