Java Discord Api移动用户
我正忙于使用Java discord Api的discord机器人 如果它不起作用或者是一个bug,我就有点进退两难了。我想把人们转到一个语音频道。但是在某些地方,代码不会进一步,也不会从编译器/ide返回异常或中断事件Java Discord Api移动用户,java,discord,Java,Discord,我正忙于使用Java discord Api的discord机器人 如果它不起作用或者是一个bug,我就有点进退两难了。我想把人们转到一个语音频道。但是在某些地方,代码不会进一步,也不会从编译器/ide返回异常或中断事件 @Override public boolean called(String[] args, MessageReceivedEvent event) { if(args.length < 2 || event.getMessage().getMentionedUs
@Override
public boolean called(String[] args, MessageReceivedEvent event)
{
if(args.length < 2 || event.getMessage().getMentionedUsers().size() < 1 || Permissions.GetPermissions(event) == 0)
{
System.out.print("you dont have the permissions");
return false;
}
boolean channelexists = false;
boolean userexists = false;
for(VoiceChannel channel : event.getGuild().getVoiceChannels())
{
if(channel.getName().equalsIgnoreCase(args[1]))
{
System.out.print("found ---> " + channel.getName() + "\n");
channelexists = true;
break;
}
}
for(VoiceChannel channel : event.getGuild().getVoiceChannels())
{
if(channel.getMembers().contains(event.getMessage().getMentionedUsers().get(0)))
{
System.out.print("found ---> " + channel.getMembers().contains(event.getMessage().getMentionedUsers().get(0).getName()) + "\n");
userexists = true;
break;
}
}
return channelexists && userexists;
}
@Override
public void action(String[] args, MessageReceivedEvent event)
{
GuildController controller = new GuildController(event.getGuild());
VoiceChannel voicechannel = null;
for(VoiceChannel channel : event.getGuild().getVoiceChannels())
{
if(channel.getName().equalsIgnoreCase(args[1]))
{
voicechannel = channel;
break;
}
}
try
{
controller.moveVoiceMember((Member) event.getMessage().getMentionedUsers().get(0), voicechannel);
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
但是当我这样调试的时候
System.out.print(channel.getMembers().contains(event.getMessage().getMentionedUsers().get(0)));
控制台写入false。甚至当我在其中一个频道时
所以我有点担心这是一个错误还是我太愚蠢了
谢谢我的帮助和问候
System.out.print(channel.getMembers().contains(event.getMessage().getMentionedUsers().get(0)));
控制台写入false
相同的值用作if
控件中的条件,并且由于if
条件的计算结果为false
,因此if
中的块(在查询中为打印行)显然不会执行。因此,包含打印行的行似乎不会触发
System.out.print("found ---> " + channel.getMembers().contains(event.getMessage().getMentionedUsers().get(0).getName()) + "\n");
看看
控制台写入false
相同的值用作if
控件中的条件,并且由于if
条件的计算结果为false
,因此if
中的块(在查询中为打印行)显然不会执行。因此,包含打印行的行似乎不会触发
System.out.print("found ---> " + channel.getMembers().contains(event.getMessage().getMentionedUsers().get(0).getName()) + "\n");
看看