mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-03 23:36:43 +02:00
41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
const Command = require('../../framework/Command');
|
||
const moment = require('moment');
|
||
const { MessageEmbed } = require('discord.js');
|
||
const permissions = require('../../assets/json/permission-names');
|
||
|
||
module.exports = class RoleCommand extends Command {
|
||
constructor(client) {
|
||
super(client, {
|
||
name: 'role',
|
||
aliases: ['role-info'],
|
||
group: 'info',
|
||
memberName: 'role',
|
||
description: 'Responds with detailed information on a role.',
|
||
guildOnly: true,
|
||
clientPermissions: ['EMBED_LINKS'],
|
||
args: [
|
||
{
|
||
key: 'role',
|
||
prompt: 'Which role would you like to get information on?',
|
||
type: 'role'
|
||
}
|
||
]
|
||
});
|
||
}
|
||
|
||
run(msg, { role }) {
|
||
const serialized = role.permissions.serialize();
|
||
const perms = Object.keys(permissions).filter(perm => serialized[perm]);
|
||
const embed = new MessageEmbed()
|
||
.setColor(role.hexColor)
|
||
.addField('❯ Name', role.name, true)
|
||
.addField('❯ ID', role.id, true)
|
||
.addField('❯ Color', role.hexColor.toUpperCase(), true)
|
||
.addField('❯ Creation Date', moment.utc(role.createdAt).format('MM/DD/YYYY h:mm A'), true)
|
||
.addField('❯ Hoisted?', role.hoist ? 'Yes' : 'No', true)
|
||
.addField('❯ Mentionable?', role.mentionable ? 'Yes' : 'No', true)
|
||
.addField('❯ Permissions', perms.map(perm => permissions[perm]).join(', ') || 'None');
|
||
return msg.embed(embed);
|
||
}
|
||
};
|