Javascript 您如何赋予特定成员一个角色?Discord.js

Javascript 您如何赋予特定成员一个角色?Discord.js,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我必须创建一个帐户才能发布此内容,但我正在创建一个!addrole命令添加到我的bot,我在弄清楚如何将角色添加到成员时遇到了一些问题,它不断给我这个错误 TypeError:无法读取未定义的属性“角色” 以下是我一直在做的工作: if(!message.content.startswith(prefix)| | message.author.client)返回; 常量参数=message.content.slice(prefix.length).split(“”); const命令=argum

我必须创建一个帐户才能发布此内容,但我正在创建一个
!addrole
命令添加到我的bot,我在弄清楚如何将角色添加到成员时遇到了一些问题,它不断给我这个错误

TypeError:无法读取未定义的属性“角色”

以下是我一直在做的工作:

if(!message.content.startswith(prefix)| | message.author.client)返回;
常量参数=message.content.slice(prefix.length).split(“”);
const命令=arguments.shift().toLowerCase();
如果(命令=='addrole'){
const role=message.guild.roles.cache.find(role=>role.name==='role')
const userId=arguments[0]。切片(2,19)//来自消息的用户id
const user=message.guild.members.cache.get(userId)//用户本身
user.roles.add(角色)
}
但它一直给我上面的错误,请帮助。 另外,请原谅我的大写和索引,我只是把代码从我的电脑复制到我的手机上,我的浏览器有点故障。
您还可以在Ralphiboy22#7118

discord.js
v12和更高版本上使用dm
管理器
,这意味着您必须通过
缓存
属性传递它

user.roles.cache.add(角色)

有一种更好的方法,您可以使用
message.indications.members.first()
像这样:

const role = message.guild.roles.cache.find(role => role.name === ‘Insert role here’)
const target = message.mentions.members.first();
target.roles.cache.add(role)
您还可以在目标行的底部添加以下内容:

if(!target) message.channel.send(‘User not found!’)

你是在一个有效的公会中发送消息吗?是的,我很确定尝试
console.log(userId)
,它会返回你期望的结果吗?它会准确地记录我的信息,除了我的id。