Discord.js 无法从公会中找到角色
Posted
技术标签:
【中文标题】Discord.js 无法从公会中找到角色【英文标题】:Discord.js cannot find role from guild 【发布时间】:2021-04-20 20:28:00 【问题描述】:我正在使用 discord.js 制作一个 Discord 机器人,但是,它不允许我获得公会的角色并找到特定的角色。这有点令人困惑,所以这里是代码:
//Note: this is inside a messageReactionAdd event
let guild = reaction.message.guild;
console.log(guild.id);
console.log(guild.roles);
let role = guild.roles.cache.find(r => r.name == "Member");
reaction.member.roles.add(role);
控制台会显示公会 ID 以及角色和信息的长图,但它在定义 role
的行中显示 roles is not a property of undefined
。我不知道它为什么这样做。
【问题讨论】:
此命令是否正在 DM 中进行测试?如果消息对象位于 DM 中,则消息对象将没有guild
属性。
它在服务器中。我还指出,它确实在控制台中记录了公会 ID 和角色列表。
【参考方案1】:
你的问题不在于角色本身,你的问题在于reaction.member
。反应没有成员属性。
只要改变这个->
reaction.member.roles.add(role);
收件人(messageReactionAdd 有用户参数)->
guild.members.cache.get(user.id).roles.add(role)
【讨论】:
以上是关于Discord.js 无法从公会中找到角色的主要内容,如果未能解决你的问题,请参考以下文章
Discord.js 创建一个角色并在之后立即获取它的 id
如何添加 ID 保存在 JSON 文件 discord.js v12 中的角色?