我在node.js中使用最新的discord.js,我正在尝试将用户添加到角色,但似乎已删除了bot.addUserToRole()。
当我只知道等级名称而不是它的ID时,我怎么能这样做?
答案 0 :(得分:9)
这是对我有用的东西,希望对您有所帮助!
var role= member.guild.roles.cache.find(role => role.name === "role name");
member.roles.add(role);
Here是其官方文档。
答案 1 :(得分:2)
你可以这样做:
var role = message.guild.roles.find(role => role.name === "MyRole");
message.member.addRole(role);
答案 2 :(得分:0)
对我来说(现在)仅适用于此:
var role = message.member.roles.cache.find(role => role.name === "role name");
if (!role) return;
message.member.guild.roles.add(role);
答案 3 :(得分:0)
到目前为止,到2020年,此代码运行良好,并且由于仅基于消息对象而易于实施
let role = message.member.guild.roles.cache.find(role => role.name === "your role");
if (role) message.guild.members.cache.get(message.author.id).roles.add(role);
答案 4 :(得分:-1)
要解决此问题,您需要执行以下操作:
const role = (message).guild.roles.cache.find(use => use.name === '(RoleName)')
if (role) message.guild.members.cache.get(message.author.id).roles.add(role);