我想做一个函数,如果我输入!makeserver
,让机器人创建一个公会并发送邀请链接给我。但是,guild.getSystemChannel()
在回调中不起作用。我的JDA版本是4.4.0_352。
if (message[0].equalsIgnoreCase("!makeserver")) {
if (message.length < 2) {
event.getChannel().sendMessage("Name the server!").queue();
return;
}
String serverName = message[1];
event.getJDA().createGuild(serverName).queue(guild -> {
GuildChannel defaultChannel = guild.getSystemChannel();// this code didn't work
defaultChannel.createInvite().queue(invite -> {
String inviteUrl = invite.getUrl();
event.getChannel().sendMessage("I made the server and send the link!\n" + inviteUrl).queue();
}, error -> {
event.getChannel().sendMessage("Fail to send link.").queue();
if (error instanceof Exception) {
Exception e = (Exception) error;
e.printStackTrace();
}
});
}, error -> {
event.getChannel().sendMessage("Fail to make the server .").queue();
if (error instanceof Exception) {
Exception e = (Exception) error;
e.printStackTrace();
}
});
}
}
}
1条答案
按热度按时间vfh0ocws1#
回调函数不提供公会,您需要使用
GuildJoinEvent
。