从消息方法中获取用户

时间:2020-01-04 14:20:25

标签: discord-jda

我正在尝试创建一个具有成员活动的不和谐机器人,例如,许多消息向用户发送了谁,但是每次我尝试从消息中捕获用户以验证活动时,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();
}

1 个答案:

答案 0 :(得分:0)

除非提到您的前缀,否则您的代码将无法工作。例如,如果邮件内容等于"!testMention",则您的第一个条件为true,在这种情况下,第二个条件getMentionedMembers().size() < 1必须为true,因为您的邮件内容不包含提及。

您无法将Member强制转换为User,因为它们是完全不同的类型。如果要拥有用户,则需要使用getMentionedUsers()member.getUser()