无法使用 discord.js 获得角色

Posted

技术标签:

【中文标题】无法使用 discord.js 获得角色【英文标题】:Can't get role with discord.js 【发布时间】:2020-12-17 07:52:51 【问题描述】:

我正在使用 discord.js 开发 Discord 机器人。下面的代码应该给选定的用户一个特定的角色。

const roleTag = message.guild.roles.cache.find(role => role.name === '<role name>');
const member = message.mentions.members.first();
member.roles.add(role);

但是每次我得到一个错误提示:

TypeError: Cannot read property 'roles' of undefined

注意:消息对象没有问题(我查过)

【问题讨论】:

好吧,您声称消息对象没有问题,但是您似乎没有得到 message.guild。这段代码 sn-p 有点太短了,你能说明如何获取/初始化消息对象吗? 如果message 对象没有问题,问题可能是您在dm 中发送消息,因此message.guild 返回未定义。 member 是否正确返回? (console.log(member) 看看)。 【参考方案1】:

你在哪里得到错误,在 add 函数或定义 roleTag 中?顺便说一句,您正在添加定义的角色,您正在添加 role 并且您将其命名为 roleTag

【讨论】:

以上是关于无法使用 discord.js 获得角色的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js 使用 Express 添加角色 |无法读取未定义的属性“添加”

如何设置无法踢出具有更高角色的成员 - Discord.js

discord.js - 机器人不会添加角色:TypeError:无法读取未定义的属性“添加”

Discord.JS 能够添加角色但无法删除角色?

无法添加角色,Discord.js

无法检查 discord.js 用户的自定义状态