我正在尝试创建一个具有成员活动的不和谐机器人,例如,许多消息向用户发送了谁,但是每次我尝试从消息中捕获用户以验证活动时,method都不起作用。这是一个示例:
if (event.getMessage().getContentRaw().equalsIgnoreCase(prefix + "testMention")) {
if (event.getMessage().getMentionedMembers().size() < 1) {
canal.sendMessage("You don't mentioned any users").queue();
return;
}
User target = (User) event.getMessage().getMentionedMembers().get(0);
canal.sendMessage("You've been mentioned " + target.getAsTag()).queue();
}
答案 0 :(得分:0)
除非提到您的前缀,否则您的代码将无法工作。例如,如果邮件内容等于"!testMention"
,则您的第一个条件为true,在这种情况下,第二个条件getMentionedMembers().size() < 1
必须为true,因为您的邮件内容不包含提及。
您无法将Member
强制转换为User
,因为它们是完全不同的类型。如果要拥有用户,则需要使用getMentionedUsers()
或member.getUser()
。