discord.js 用 1 个命令添加 3 个角色
Posted
技术标签:
【中文标题】discord.js 用 1 个命令添加 3 个角色【英文标题】:discord.js add 3 roles with 1 command 【发布时间】:2021-09-26 12:14:59 【问题描述】:当管理员键入激活(用户)时,我想为用户添加角色,机器人为用户提供 3 个角色,这是我的代码
if (message.content === 'activate')
const guild = message.guild;
const role = message.guild.roles.cache.get('842121303616126977');
const member = message.mentions.members.first
member.roles.add(role);
);
【问题讨论】:
【参考方案1】:GuildMemberRoleManager.add
接受RoleResolvable
的数组,它可以是Role
或Snowflake
的实例。
if (message.content === "activate")
const member = message.mentions.members.first(); // Note that first is a method, not a property.
if (!member) return message.channel.send("Member not found.");
member.roles.add(["RoleID1", "RoleID2", "RoleID3"]);
【讨论】:
它不会为我提到的用户添加角色client.on('message', message => if (message.content === "activate") const member = message.mentions.members.first(); // Note that first is a method, not a property. if (!member) return message.channel.send("Member not found."); member.roles.add(["842121300532920362", "842121301777973298", "842121302708977694"]); );
@ArabSword 确保您的机器人具有Manage Roles
权限并且您提供的 ID 有效。您是否在控制台中收到任何错误?
它没有错误并且没有添加角色
您的机器人角色是否高于您尝试添加的角色?【参考方案2】:
成功了
this code worked for me finally `client.on('message', message =>
if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).split(/ +/);
console.log(args);
const command = args.shift().toLowerCase();
if (command == 'activate')
const member = message.mentions.members.first(); // Note that first is a method, not a property.
if (!member) return message.channel.send("member not found");
const drole = message.guild.roles.cache.get('842121300532920362');
const prole = message.guild.roles.cache.get('842121301777973298');
const lrole = message.guild.roles.cache.get('842121302708977694');
const frole = message.guild.roles.cache.get('842121305854836826');
member.roles.add(drole);
member.roles.add(lrole);
member.roles.add(prole);
member.roles.remove(frole);
message.channel.send('activated' + ' <' + '@' + member + '>');
);`
【讨论】:
以上是关于discord.js 用 1 个命令添加 3 个角色的主要内容,如果未能解决你的问题,请参考以下文章