【问题标题】:discord.js add 3 roles with 1 commanddiscord.js 用 1 个命令添加 3 个角色
【发布时间】: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);
          
  }
});

【问题讨论】:

    标签: discord discord.js add roles member


    【解决方案1】:

    GuildMemberRoleManager.add 接受RoleResolvable 的数组,它可以是RoleSnowflake 的实例。


    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 + '>');
      }
    
    
      });`
    

    【讨论】:

      猜你喜欢
      • 2021-12-13
      • 2021-11-03
      • 2021-01-28
      • 1970-01-01
      • 1970-01-01
      • 2020-10-07
      • 2021-07-06
      • 2022-01-18
      • 2021-04-09
      相关资源
      最近更新 更多