如何通过用户ID赋予用户角色?我想在命令中输入用户ID(参数)

时间:2020-07-28 21:01:07

标签: discord discord.js

如何通过用户ID赋予用户角色?

我想在命令中输入用户ID。 例如:

$ add用户ID

我尝试了很多,但是我不知道该怎么做

我的脚本(不起作用):

const discord = require('discord.js');
const client = new discord.Client;
const prefix = "$";

client.on('message', function(message) {
  if (!message.content.startsWith(prefix)) {return}
  const args = message.content.slice(prefix.length).trim().split(/ +/g);
  const command = args.shift().toLowerCase();
  if(command === 'add') {
    let member = guild.client.id();  
    if (member) {
      var role= member.guild.roles.cache.find(role => role.name === "newrole");
      member.addRole(role);
    }
  }
})


client.login('token');

2 个答案:

答案 0 :(得分:0)

定义用户可能对您有用 let user = message.mentions.users.first(); 相反,member.addRole(role); 尝试使用user.id.addRole(role); 不确定是否适合您

答案 1 :(得分:0)

您的某些代码并没有多大意义,因此我对其进行了修复,并获得了一个可以满足您所需的版本。

const discord = require('discord.js');
const client = new discord.Client;
const prefix = "$";

client.on('message', function(message) {
  if (!message.content.startsWith(prefix)) return
  const args = message.content.slice(prefix.length).trim().split(/ +/g);
  const command = args[0].toLowerCase();
  if(command === 'add') {
    let member = message.member.guild.member(args[1])
    if (member) {
      var role = message.member.guild.roles.cache.find(role => role.name === "newrole");
      message.guild.member(args[1]).roles.add(role)
    }
  }
})


client.login('token');