我如何使用 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
我正在做一个 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