首页 > 解决方案 > Discord.js - 尝试向新成员添加角色时出现机器人错误

问题描述

我在这里附上了我编写的代码,该代码应该自动授予登录到我的服务器的任何新用户(我有一个名为成员的滚动)并附加一个链接到出现在我身上的错误消息,如果有人可以,我会很高兴帮我。

这是错误的链接: 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*/);

标签: javascriptdiscorddiscord.js

解决方案


这里的问题是,当他们加入时,您正在检查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*/);

推荐阅读