Discord.js:向DM机器人的用户添加特定服务器上的角色

时间:2020-06-03 09:46:50

标签: javascript node.js bots discord discord.js

我目前正在开发一个不和谐的机器人,我想在我的服务器上向所有向该机器人DM的用户添加角色“ Members”。但是我无法使addRole正常工作。我不断收到以下错误:

TypeError:member.guild.roles.cache.addRole不是函数

这是我的代码:

let server = client.guilds.cache.get('myserverID')
var memberRole= server.roles.cache.find(role => role.name === "Member")
let member = server.members.cache.get(msg.author.id);
member.guild.roles.cache.addRole(memberRole)

有人可以帮我吗?

3 个答案:

答案 0 :(得分:4)

那是因为该方法不存在:您需要使用的方法是GuildMember.roles.add()
将其应用于代码的方法如下:

let server = client.guilds.cache.get('myserverID')
var memberRole= server.roles.cache.find(role => role.name === "Member")
let member = server.members.cache.get(msg.author.id)

member.roles.add(memberRole)

答案 1 :(得分:-1)

尝试member.guild.roles.cache.roles.add(memberRole);而不是member.roles.add(memberRole);

答案 2 :(得分:-1)

 member.guild.roles.cache.add(memberRole)

不是

member.guild.roles.cache.addRole(memberRole)