我如何使用 JDA 的 Discord Bot 更改昵称

How can i change nicks with Discord Bot with JDA

我正在做一个 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");
        }
    }
}

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

在此处详细了解 RestAction 和 JDA 的工作原理:https://ci.dv8tion.net/job/JDA/javadoc/net/dv8tion/jda/api/requests/RestAction.html