Java Discord Bot (JDA) 检查是否固定

Java Discord Bot (JDA) Check if pinned

我用 Discord Java API (JDA) 写了一个清除(清除)命令。

public class Purge {

    public static void onPurgeCommand(SlashCommandEvent event) {

        event.deferReply().queue();
        JDA bot = Bot.bot;
        int amount = Integer.parseInt(event.getOption("amount").getAsString());

        List<Message> messages = event.getChannel().getHistory().retrievePast(amount).complete();
        for (Message message: messages) {
            message.delete().queue();
        }
        event.getHook().sendMessage("**Es wurden "+amount+" Nachrichten gelöscht.**").queue();
    }

}

在 Slash 命令的帮助下,我想检查一条消息是否被固定,以及当它被固定时应该跳过该消息。 我刚开始在 Java 中写东西,所以我什么都不知道

你可以试试这个:

event.getChannel().getHistory().retrievePast(amount).queue(messageHistory -> {
        
        for (Message message : messageHistory) {
            if (!message.isPinned()) message.delete().queue();
        }

    });