【问题标题】:How can i change nicks with Discord Bot with JDA我如何使用 JDA 更改 Discord Bot 的缺口
【发布时间】:2021-10-15 02:09:30
【问题描述】:

我正在做一个 Discord Bot,我需要更改发送消息的用户的昵称,例如:人“A”发送消息,我想将他的名字更改为“B”。

我有这个代码,但它不起作用,我找不到原因。

public void onGuildMessageReceived(GuildMessageReceivedEvent e) {
    if(e.getAuthor().isBot()) return;

    String[] args = e.getMessage().getContentRaw().split("\\s+");
    System.out.println("lengh: " + args.length);

    if(args[0].equalsIgnoreCase("!verify")) {
        if(args.length == 2) {
            Guild guild = e.getGuild();
            //guild.getMember(e.getAuthor()).modifyNickname("asdsllslslsl").queue();
            guild.modifyNickname(e.getMessage().getMember(), "pepeasd");
        }
    }
}

【问题讨论】:

  • 您需要在guild.modifyNickname(e.getMessage().getMember(), "pepeasd")之后添加.queue()

标签: java discord-jda


【解决方案1】:

您没有在排队您创建的RestAction。要对其进行排队,您需要在 modifyNickname() 方法之后添加 .queue()

在此处了解有关 RestAction 和 JDA 工作原理的更多信息:https://ci.dv8tion.net/job/JDA/javadoc/net/dv8tion/jda/api/requests/RestAction.html

【讨论】:

    猜你喜欢
    • 2023-01-05
    • 2021-07-04
    • 2021-10-14
    • 2020-12-21
    • 2020-11-15
    • 2020-09-27
    • 2018-10-22
    • 2020-08-07
    • 2021-09-10
    相关资源
    最近更新 更多