【发布时间】:2022-01-05 19:08:47
【问题描述】:
我想做的是:
当一个人离开一个特定的语音频道,而这个频道现在是空的,机器人:
- 删除特定文本频道中除 1 条以外的所有消息
- 删除他刚刚离开的语音频道
问题:
- 语音通道已成功删除,但文本通道中的消息未被机器人删除
代码:
@Override
public void onGuildVoiceUpdate(GuildVoiceUpdateEvent event) {
VoiceChannel channelLeft = event.getChannelLeft();
if (channelLeft.getName().startsWith("???? Coaching de")) {
if (channelLeft.getMembers().isEmpty()) {
channelLeft.delete().queue(); //The bot delete de channel successfully
List<Message> messagesCoaching = event.getChannelLeft().getGuild().getTextChannelById("489420943991635988").getHistory().retrievePast(20).complete(); // Using a list to store the retrieved messages
messagesCoaching.removeIf(m -> m.getId().equals("490567304971812885")); // Removing from the list the message i want to keep
event.getChannelLeft().getGuild().getTextChannelById("489420943991635988").deleteMessages(messagesCoaching).complete(); // Deleting all the messages (not working)
}
}
【问题讨论】:
标签: discord bots discord-jda