【问题标题】:How to print out this RestAction / List如何打印出这个 RestAction / List
【发布时间】:2021-02-16 17:22:52
【问题描述】:

我正在为我的服务器创建 Discord-Bot。通常我可以很容易地打印出 Lists,但是这个 RestActionList 会烧我的大脑:D。

谁能告诉我如何打印一个 RestAction?

public class ShowBannsCommand implements ServerCommand {
    @Override
    public void performCommand(Member m, TextChannel channel, Message message, MessageReceivedEvent event, EventWaiter waiter) {
        Guild guild = event.getGuild();

        if(m.hasPermission(Permission.BAN_MEMBERS)) {
            message.delete().queue();

            RestAction<List<Guild.Ban>> restAction = guild.retrieveBanList();

            EmbedBuilder builder = EmbedHelper.getDefault("Bannlist of " + guild.getName(), m.getAsMention() + ", here is the bannlist you requested.")
                    .setAuthor("Request by " + m.getUser().getName(), EmbedHelper.link, m.getUser().getEffectiveAvatarUrl())
                    .addField("Server:", guild.getName(), true)
                    .addField("Total banns:", "", true)
                    .addField("Banns:", "", false);
            channel.sendMessage(builder.build()).queue();
        }
    }
}

我使用的是 JDA 4.2.0_214

【问题讨论】:

    标签: java discord bots discord-jda


    【解决方案1】:

    使用队列回调:

    guild.retrievBanList().queue(list -> {
        // Note this list should have a hardcoded limit to prevent hitting the character limit
        String banList = list.stream().map(User::getName).collect(Collectors.joining(", "));
        EmbedBuilder builder = EmbedHelper.getDefault("Bannlist of " + guild.getName(), m.getAsMention() + ", here is the bannlist you requested.")
                        .setAuthor("Request by " + m.getUser().getName(), EmbedHelper.link, m.getUser().getEffectiveAvatarUrl())
                        .addField("Server:", guild.getName(), true)
                        .addField("Total banns:", String.valueOf(list.size()), true)
                        .addField("Bans:", banList, false);
        channel.sendMessage(builder.build()).queue();
    });
    

    【讨论】:

      猜你喜欢
      • 2016-01-25
      • 1970-01-01
      • 2021-03-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多