如何在不和谐的用户中添加角色?

时间:2020-07-29 22:46:29

标签: discord discord.js

在这种情况下如何向用户添加角色?我不想用role.find做到这一点。 感谢您的帮助!

我的脚本:

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])
client.cache.get(member.id).roles.add("roleid");

client.login('token');

1 个答案:

答案 0 :(得分:0)

您可以这样做: 使用args.shift()来获取命令,因此您可以使用args作为命令参数

const Discord = require('discord.js');

const client = new Discord.Client();

const prefix = '$';

client.on('message', function (message) {
    if (!message.content.startsWith(prefix)) return;
    let args = message.content.slice(prefix.length).trim().split(/ +/g);
    let command = args.shift();
    if (command === 'add') {
        if (args.length === 0) return message.reply('pls mention a member or write a ID');
        let member = message.mentions.members.first() || message.guild.members.cache.get(args[0]);
        if (!member) return message.reply(`can't get a member ${args[0]}`);
        member.roles
            .add('ROLE ID')
            .then(() => {
                message.channel.send(`successfully add role to member ${member.user}`);
            })
            .catch((err) => {
                message.channel.send(`Failed to add role to member`);
            });
    }
});
client.login('token');