【问题标题】:How to show roles of a mentioned user in discord.js如何在 discord.js 中显示提及用户的角色
【发布时间】:2022-02-24 17:51:11
【问题描述】:

我为不和谐做了一个配置文件命令。它需要显示用户的角色。我知道如何显示消息作者的角色,但显示消息作者角色的相同方法不适用于被 ping 过的成员。

我将展示我的代码以使其更清晰:

// this one works as expected
message.member.roles.cache.map((role) => role.name).join(", ")
// but this one doesn't work
let pingedUser = message.mentions.users.first(); 
pingedUser.roles.cache.map((role) => role.name).join(", ")

【问题讨论】:

    标签: javascript discord.js


    【解决方案1】:

    第一个有效,因为它映射了GuildMember 的角色。第二个不起作用,因为您尝试获取User 的角色,但只有GuildMembers 有角色。

    要解决此问题,您可以改用message.mentions.members.first(),因为message.mentions.members 返回GuildMember

    let pingedMember = message.mentions.members.first();
    
    pingedMember.roles.cache.map((role) => role.name).join(', ');
    

    【讨论】:

    • 顺便说一句,您知道如何使用 id 执行此操作吗?喜欢而不是提及,使用 id 来查看角色?
    • 当然,您可以通过 ID 获取成员,这可能会有所帮助:stackoverflow.com/a/66176807/6126373
    猜你喜欢
    • 2020-12-21
    • 2020-03-04
    • 2021-08-02
    • 2021-04-21
    • 2019-04-14
    • 2020-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多