discord-jda - 从消息方法中获取用户
问题描述
我正在尝试使用成员活动制作一个不和谐的机器人,例如,谁向用户发送了许多消息,但是每次我尝试从消息中捕获用户以验证活动时,方法都不起作用。这是一个例子:
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();
}
解决方案
除非您的前缀是提及,否则您的代码将无法工作。例如,如果消息内容等于,"!testMention"
那么您的第一个条件为真,那么getMentionedMembers().size() < 1
在这种情况下,第二个条件必须为真,因为您的消息内容不包含提及。
您不能转换为Member
,User
因为它们是完全不同的类型。如果你想拥有一个用户,那么你需要使用getMentionedUsers()
或member.getUser()
。
推荐阅读
- neo4j - Cypher 查询返回某年出生的学生
- javascript - 仅 CSS 的选项卡试行嵌套输入标签的内容
- javascript - 在 node.js 上上传音频文件,添加音频可视化(使用三个.js)并将新文件保存到视频文件
- android - 如何根据 Google 的 2019 年新图标规范在 Phonegap / Cordova 中实现应用程序图标?
- vb.net - 简化 vb.net 中的列表初始化
- javascript - 如何使用 jest 函数发送响应?它给出了异步回调错误
- node.js - 解析/node_modules/opencv4nodejs/build/Release/opencv4nodejs.node时node.js Browserify意外的字符'�'(1:0)
- sorting - ag-Grid 如何防止默认排序和过滤?
- node.js - 如何在 Ubuntu 18.04 32 位上安装 node.js?
- html - 如何在 django 中提供图像而不在 django 中使用标签?