Discord.js - 尝试向新成员添加角色时机器人出错

时间:2021-02-28 12:56:50

标签: javascript discord discord.js

我在此附上我编写的代码,该代码应自动向登录我的服务器的任何新用户(我有一个名为 roll 的成员)授予一个 roll 并附上指向我看到的错误消息的链接,我很乐意如果有人可以帮助我。

这是错误链接:https://prnt.sc/109bik1

这是我的代码:

const Discord = require('discord.js');
const client = new Discord.Client();
const config = require('./config.json');

client.on('guildMemberAdd', (member)  => { 
  let welcomeRole = member.roles.cache.find(role => role.name == 'member');
  member.roles.add(welcomeRole);
})

client.login(/*Here is the TOKEN*/);

1 个答案:

答案 0 :(得分:1)

这里的问题是您正在检查 GuildMember 加入时的角色集合,这很可能是空的,而不是服务器的。


const Discord = require('discord.js');
const client = new Discord.Client();
const config = require('./config.json');

client.on('guildMemberAdd', (member)  => { 
  let welcomeRole = member.guild.roles.cache.find(role => role.name == 'member');
  if (!welcomeRole) return console.log('Couldn\'t find the member role.');
  member.roles.add(welcomeRole);
})

client.login(/*Here is the TOKEN*/);