discord.js 向用户添加角色

时间:2021-01-06 14:38:48

标签: discord.js

嘿嘿!

您知道我如何通过一条命令为用户添加角色吗?

e.克:/接受@Kuezy -> 一旦我发送这个命令,机器人就应该为用户添加@Applicant 角色。

这是我的代码:

    let embed = new Discord.MessageEmbed()
    .setColor(0x00FF00)
    .setTitle(`__Anmeldung bearbeitet | Angenommen!__`)
    .setDescription(`Lieber **${banMember}**,\nwir möchten dir mitteilen, das deine Anmeldung für unser Turnier angenommen wurde! Weitere Informationen folgen demnächst.\n\nSchönen Tag noch! :tada:`)
    .setFooter(`${colours.mainname}`, message.guild.iconURL())
banMember.send(embed)

var role = message.guild.roles.find(role => role.name === "MyRole");
banMember.member.addRole(role);

:D

1 个答案:

答案 0 :(得分:0)

自从 Discord.JS 的旧版本之后,我就没有真正接触过,但我可以告诉你,你的命令中向你所指的用户添加角色的方法都不存在了。参考你的最后一行:banMember.member.addRole(role);

为了向用户添加角色,您只需获取用户的成员对象,然后使用 .roles.add() 函数添加所需的角色:

message.guild.member(banMember).roles.add(role)

此外,随着 v12 的变化,您现在需要在 .find().get() 函数中缓存您要查找的角色,因此您应该更改您的角色查找函数到以下:

var role = message.guild.roles.cache.find(role => role.name === "MyRole");

您可以在此处阅读有关 v12 更改的更多信息:https://github.com/discordjs/discord.js/releases/tag/12.0.0