Member.kick() 啥都不做(Java 上的 Discord 机器人)
Posted
技术标签:
【中文标题】Member.kick() 啥都不做(Java 上的 Discord 机器人)【英文标题】:Member.kick() does nothing (Discord bot on java)Member.kick() 什么都不做(Java 上的 Discord 机器人) 【发布时间】:2020-12-16 17:16:35 【问题描述】:主要
List<Member> banned=new ArrayList<>();
public static void main(String[] args) throws LoginException
builder=new JDABuilder(AccountType.BOT);
String token="censored";
builder.setToken(token);
builder.addEventListeners(new Main());
List<GatewayIntent> intents=new ArrayList<>();
intents.add(GatewayIntent.GUILD_BANS);
intents.add(GatewayIntent.GUILD_MEMBERS);
builder.enableIntents(intents);
builder.build();
不工作的部分
if(event.getGuild().getSelfMember().hasPermission(Permission.KICK_MEMBERS))
say(event.getChannel(),target.getEffectiveName()+" gekickt!");
else
System.out.println("no permission");
if(event.getGuild().getSelfMember().hasPermission(Permission.KICK_MEMBERS))
System.out.println("has permission");
if(!banned.contains(target))
banned.add(target);
System.out.println("test3453");
event.getGuild().kick(target);
在第二个代码部分,机器人应该踢出一个用户。在我的控制台中,我看到它有权这样做,但它不会踢任何人,我什至没有收到错误消息。 如果有人知道我可能做错了什么,我将不胜感激。
【问题讨论】:
【参考方案1】:kick 返回一个RestAction
,这意味着你必须在它上面调用.queue()
。例如:member.kick().queue();
另见:
Troubleshooting RestAction【讨论】:
以上是关于Member.kick() 啥都不做(Java 上的 Discord 机器人)的主要内容,如果未能解决你的问题,请参考以下文章