Toggle a specific role of a user, Command Template: https://pastebin.com/JN5hXEYZ
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN});
//Often used Variables
const user_id = context.params.event.data.options[0].value;
const role_id = context.params.event.data.options[1].value;
const guild_id = context.params.event.guild_id;
let response;
//Get Roles of User
const user_info = await lib.discord.guilds['@release'].members.retrieve({
user_id: `${user_id}`,
guild_id: `${guild_id}`,
});
//Check if User has the role. If yes it removes the role if no it gives the role to the user
if (context.params.event.member.permission_names.includes('MANAGE_ROLES')) {
if (user_info.roles.includes(`${role_id}`)) {
await lib.discord.guilds['@release'].members.roles.destroy({
role_id: `${role_id}`,
user_id: `${user_id}`,
guild_id: `${guild_id}`,
});
response = `<@&${role_id}> has been successfully removed from <@!${user_id}>.`;
} else {
await lib.discord.guilds['@release'].members.roles.update({
role_id: `${role_id}`,
user_id: `${user_id}`,
guild_id: `${guild_id}`,
});
response = `<@&${role_id}> has been successfully given to <@!${user_id}>.`;
}
} else {
response = "You don't have Permission to manage Roles.";
}
await lib.discord.interactions['@release'].responses.ephemeral.create({
token: context.params.event.token,
content: response,
response_type: 'CHANNEL_MESSAGE_WITH_SOURCE',
});