Use the command !role @ROLE or !role ROLE ID to get the number of members in a guild who have the same 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);
}
}
await lib.discord.channels['@0.3.1'].messages.create({
channel_id: `${context.params.event.channel_id}`,
content: ``,
embeds: [
{
description: count.length + ` members have the <@&` + role + `> role`,
},
],
});
console.log(count.length);