Self roles slash commands with logs. Make sure to go to the slash command builder and create /role1 command. If you wish to use this multiple times, just change the number from 1 to 2, and so on.
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN});
let Role1 = process.env.Role1ID;
let username = context.params.event.member.user.username;
let discriminator = context.params.event.member.user.discriminator;
let servername = process.env.servername;
if (context.params.event.member.roles.includes(Role1)) {
await lib.discord.guilds['@0.1.0'].members.roles.destroy({
role_id: Role1,
user_id: `${context.params.event.member.user.id}`,
guild_id: `${context.params.event.guild_id}`,
});
await lib.discord.interactions['@0.0.0'].followups.ephemeral.create({
token: `${context.params.event.token}`,
content: '',
tts: false,
embeds: [
{
type: 'rich',
title: `Role Removed`,
description: ` Removed role ${process.env.Role1} `,
color: 0xfb0000,
footer: {
text: `${process.env.servername} Self Roles`,
},
},
],
});
await lib.discord.channels['@0.2.0'].messages.create({
channel_id: `${process.env.logchannel}`,
content: '',
tts: false,
embeds: [
{
type: 'rich',
title: `Role Panel`,
description: `<@!${context.params.event.member.user.id}> Just removed the ${process.env.Role1} Role`,
color: 0xfb0000,
timestamp: `${context.params.event.received_at}`,
author: {
name: `Self Roles | Created By James K.#4030`,
},
footer: {
text: `${username} #${discriminator}`,
},
},
],
});
} else {
await lib.discord.guilds['@0.1.0'].members.roles.update({
role_id: Role1, // given role
user_id: `${context.params.event.member.user.id}`,
guild_id: `${context.params.event.guild_id}`,
});
await lib.discord.interactions['@0.0.0'].followups.ephemeral.create({
token: `${context.params.event.token}`,
content: '',
tts: false,
embeds: [
{
type: 'rich',
title: `Role Added`,
description: ` Added role ${process.env.Role1} `,
color: 0x08ff1d,
footer: {
text: `${process.env.servername} Self Roles`,
},
},
],
});
await lib.discord.channels['@0.2.0'].messages.create({
channel_id: `${process.env.logchannel}`,
content: '',
tts: false,
embeds: [
{
type: 'rich',
title: `Role Panel`,
description: `<@!${context.params.event.member.user.id}> Just recieved the ${process.env.Role1} Role `,
color: 0x08ff1d,
timestamp: `${context.params.event.received_at}`,
author: {
name: `Self Roles | Created By James K.#4030`,
},
footer: {
text: `${username} #${discriminator}`,
},
},
],
});
}