使用 discord.js 获取有关提到的用户/消息作者的信息
Posted
技术标签:
【中文标题】使用 discord.js 获取有关提到的用户/消息作者的信息【英文标题】:Get information about the mentioned user / message author with discord.js 【发布时间】:2020-11-18 01:08:05 【问题描述】:**• Server Roles:** <@&$user._roles.join('> <@&')>
,
^^ 无法读取未定义的属性“加入”
我使用了 message.member._roles.join('> `,
但它总是显示编写命令的用户的角色,而不是您提到的用户。
【问题讨论】:
【参考方案1】:Message.member 是发送此消息的用户。 如果您想获得提及的公会成员,您需要使用message.mentions.members 它返回提到的用户的集合。 您的代码应如下所示:
// To make sure that only one member is mentioned
if(message.mentions.members.size == 1)
const roles = `<@&$message.mentions.members.first()._roles.join('> <@&')>`
message.channel.send(roles);
我建议先发送空消息,然后编辑其内容以添加这些提及,以避免 ping 整个服务器。
【讨论】:
(node:9764) UnhandledPromiseRejectionWarning: TypeError: Cannot read property '_roles' of undefined 1.您是否完全使用了我的代码? 2. 你在加入_roles 数组之前检查过message.mentions.members 的大小吗? 3. 你使用最新版本的 od discord.js 吗? (12.2.0) 您可以使用 npm list 命令进行检查 我的命令应该在更大的命令(用户信息)中显示角色,我只需要设法显示标记的用户角色或消息作者的角色。 即使你提到某人也会出现这个错误?如果可能的话,你能回答我上面评论中的问题吗? 我希望它也适用于 message.author :(以上是关于使用 discord.js 获取有关提到的用户/消息作者的信息的主要内容,如果未能解决你的问题,请参考以下文章
discord.js - 如何在提到的用户之间随机拆分消息?