39 lines
939 B
TypeScript
39 lines
939 B
TypeScript
|
import { Command } from '../Command';
|
||
|
import { parseUser } from '../../util/parseUser';
|
||
|
|
||
|
export const command = new Command(
|
||
|
'role',
|
||
|
async (lifeguard, msg, args) => {
|
||
|
const [cmd, uid, rid, ...r] = args;
|
||
|
const u = parseUser(uid);
|
||
|
const role = msg.guild?.roles.get(rid);
|
||
|
switch (cmd) {
|
||
|
case 'add':
|
||
|
if (role) {
|
||
|
const member = msg.guild?.members.get(u);
|
||
|
member?.roles.add(role, r.join(' '));
|
||
|
msg.channel.send(`Added ${role.name} to ${member}`);
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
case 'rmv':
|
||
|
if (role) {
|
||
|
const member = msg.guild?.members.get(u);
|
||
|
member?.roles.remove(role, r.join(' '));
|
||
|
msg.channel.send(`Removed ${role.name} from ${member}`);
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
default:
|
||
|
break;
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
level: 1,
|
||
|
usage: [
|
||
|
'role add {user} {role id} [reason]',
|
||
|
'role rmv {user} {role id} [reason]',
|
||
|
],
|
||
|
}
|
||
|
);
|