【问题标题】:unable to add a role to a member property 'roles' of undefined无法将角色添加到未定义的成员属性“角色”
【发布时间】:2020-11-18 20:43:13
【问题描述】:

我试图在用户提交表单后授予他们一个角色,但我在 nodejs 中得到了这个

TypeError: Cannot read property 'roles' of undefined

我的代码设置如下:

const guild = discordClient.guilds.cache.get('1234567890');
const member = await guild.members.cache.get('22222222')
const role = await guild.roles.cache.find(role => role.id === '111111');
member.roles.add(role);

我做错了什么?

【问题讨论】:

  • 您应该添加一些日志语句来检查guilds 的实际外观。我猜它适合await guild.roles.cache.find...,因此您可能需要找出原因和/或为没有角色的公会添加错误处理。
  • 我正在这里获取公会信息和所有内容
  • 虽然成员未定义

标签: discord discord.js


【解决方案1】:

尝试将此声明用于公会。

const guild = message.guild;

【讨论】:

  • 我没有尝试将它与消息一起使用,我尝试使用 api 调用它 =)
【解决方案2】:

提问前请参考docs。无论如何,答案是

let guild = client.guilds.cache.fetch('id');
const role = await guild.roles.cache.find(role => role.id === 'ROLEID');
const member = await guild.members.fetch(req.user.discord_id);
member.roles.add(role);

如所见here on the docs

【讨论】:

  • 我已阅读文档并多次尝试,现在可以使用 =)。我用完整代码更新了你的答案并将公会更改为公会
猜你喜欢
  • 2021-08-10
  • 2021-06-12
  • 2021-01-06
  • 2021-04-07
  • 2020-08-17
  • 2019-01-25
  • 2020-12-14
  • 2021-11-01
  • 2018-08-17
相关资源
最近更新 更多