Discord js 无法读取未定义的属性(读取 'add')

Discord js Cannot read properties of undefined (reading 'add')

嘿,我有个小问题。

我不想在机器人启动时分配不和谐角色 我不希望它与用户 ID 和角色 ID 等 ID 一起使用,但它说 无法读取未定义的属性(读取 'add')

提前致谢 Neo

我的意图已在 discord 开发者门户上启用

const client = new Client({

意图:[Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS], }); // 意图内容

enter image description here

您不需要使用 async/await 从公会获取用户。使用 get() 而不是 fetch() 这可能会解决您的问题。

公会不应该是一个变量,因为它会改变。需要从缓存中获取角色。然后一旦你定义了 guild 你就可以使用它而无需再次定义它。试试下面的代码,你应该没问题。

client.on('ready' async () => {
    const guild = client.guilds.cache.get('976862525801000960')
    const role = guild.roles.cache.get('978375133649592361')
    const member = await guild.members.cache.get('404645579705024523')
    
    member.roles.add(role).then(
        console.log(`TOKEN: `)
    )

谢谢 Gh0st 通过这样做修复了它。

  const guild = client.guilds.cache.get('976862525801000960')
  const role = guild.roles.cache.get('978375133649592361')
  const member =  await guild.members.fetch('404645579705024523')

  member.roles.add(role).then( 
      console.log(`TOKEN: `) 
  )