在这种情况下如何向用户添加角色?我不想用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');
答案 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');