Use the command !role @ROLE or !role ROLE ID to get info about the given role.
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN});
let role;
if (context.params.event.content.includes('@')) {
role = context.params.event.content.replace('!role <@&', '');
role = role.replace('>', '');
} else {
role = context.params.event.content.replace('!role ', '');
}
const members = await lib.discord.guilds['@0.2.3'].members.list({
guild_id: context.params.event.guild_id,
limit: 1000,
});
let roleId = role;
let count = [];
for (let i = 0; i < members.length; i++) {
if (members[i].roles.includes(roleId)) {
count.push(count.length + 1);
}
}
let roles = await lib.discord.guilds['@0.2.3'].roles.list({
guild_id: `${context.params.event.guild_id}`,
});
let role_info = [];
for (let i = 0; i < roles.length; i++) {
if (roles[i].id === role) {
role_info.push(roles[i]);
}
}
role_info = role_info[0];
let permissions = [];
for (let i = 0; i < role_info.permission_names.length; i++) {
permissions.push(role_info.permission_names[i]);
}
await lib.discord.channels['@0.3.1'].messages.create({
channel_id: `${context.params.event.channel_id}`,
content: ``,
embeds: [
{
title: `Role info:`,
description: `**Role:** <@&${role}>\n**ID:** \`${role}\`\n**Members:** \`${count.length}\`\n**Permissions:** \`\`\`${permissions}\`\`\``,
color: role_info.color,
},
],
});