Pin a message by reacting to it with π if you have Administrator Permissions
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN});
if (context.params.event.emoji.name == 'π') {
let canUseAdminCommands = false;
let guildInfo = await lib.discord.guilds['@release'].retrieve({guild_id: `${context.params.event.guild_id}`});
let roles = await lib.discord.guilds['@release'].roles.list({guild_id: `${context.params.event.guild_id}`,});
let userRoles = roles.filter((role) =>context.params.event.member.roles.includes(role.id));
for (let i = 0; i < userRoles.length; i++) {
let _role = userRoles[i];
if (_role.permission_names.includes('ADMINISTRATOR')) {canUseAdminCommands = true;break;}}
if (guildInfo.owner_id === context.params.event.user_id) {canUseAdminCommands = true;}
try {
if (canUseAdminCommands) {
try {
await lib.discord.channels['@release'].pins.create({
message_id: context.params.event.message_id,
channel_id: context.params.event.channel_id,
});
await lib.discord.channels['@release'].messages.create({
channel_id: `${context.params.event.channel_id}`,
content: ``,
embeds: [
{
type: "rich",
title: ``,
description: `<@${context.params.event.user_id}> Pinned a message!`,
color: 0x26ff00
}
]
});
} catch (e) {
await lib.discord.channels['@release'].messages.create({
channel_id: `${context.params.event.channel_id}`,
content: ``,
embeds: [
{
type: "rich",
title: ``,
description: "```js\nError: Cannot Pin Message```",
color: 0x26ff00
}
]
});
}
} else {
await lib.discord.channels['@release'].messages.create({
channel_id: `${context.params.event.channel_id}`,
content: ``,
embeds: [
{
type: "rich",
title: ``,
description: `<@${context.params.event.user_id}> you need \`ADMINISTRATOR\` to do this!`,
color: 0xff0000
}
]
});
}
} catch (e) {console.log(e)}
}