You can use this snippet to prevent a user from using a specific prefix command
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN});
const isCmdBlacklsitAdd = context.params.event.content.startsWith(`${process.env.PREFIX_BL}`)
const isCmdBlacklsitRem = context.params.event.content.startsWith(`${process.env.PREFIX_RBL}`)
if (!(isCmdBlacklsitAdd || isCmdBlacklsitRem)) return
let message = context.params.event;
let sleep = async (ms) => {
return new Promise((resolve) => {
setTimeout(resolve, ms);
});
};
// Blacklist
let is_blacklisted = await lib.utils.kv['@0.1.16'].get({
key: `${context.params.event.author.id}_blacklisted`,
});
if (is_blacklisted) {
await lib.discord.channels['@0.2.0'].messages.create({
channel_id: context.params.event.channel_id,
content: `You are blacklisted!`,
});
return;
}
let adminRoles = [`${process.env.ADMINROLE}`];
let adminRole = context.params.event.member.roles.find((roleId) => {
return adminRoles.find((adminRoleId) => {
return adminRoleId === roleId;
});
});
// Non admin
if (!adminRole) {
let del = await lib.discord.channels['@0.2.0'].messages.create({
channel_id: context.params.event.channel_id,
content: `You are not allowed to use this command`,
});
await sleep(8000);
await lib.discord.channels['@0.1.2'].messages.destroy({
message_id: del.id,
channel_id: context.params.event.channel_id,
});
return;
}
// Add to blacklist
if (context.params.event.content.startsWith(`${process.env.PREFIX_BL}`)) {
if (context.params.event.mentions.length <= 0) {
await lib.discord.channels['@0.2.0'].messages.create({
channel_id: context.params.event.channel_id,
content: `Mention someone to blacklist!`,
message_reference: {
message_id: `${context.params.event.id}`,
},
});
return;
}
await lib.utils.kv['@0.1.16'].set({
key: `${context.params.event.mentions[0].id}_blacklisted`,
value: true,
});
await lib.discord.channels['@0.2.0'].messages.create({
channel_id: context.params.event.channel_id,
content: ``,
tts: false,
embeds: [
{
type: 'rich',
title: ``,
description: `<@!${context.params.event.mentions[0].id}> was blacklisted`,
color: 0x00ffff,
},
],
});
return;
}
// Remove from blacklist
if (context.params.event.content.startsWith(`${process.env.PREFIX_RBL}`)) {
if (context.params.event.mentions.length <= 0) {
await lib.discord.channels['@0.2.0'].messages.create({
channel_id: context.params.event.channel_id,
content: `Mention someone to remove from blacklist!`,
message_reference: {
message_id: `${context.params.event.id}`,
},
});
return;
}
await lib.utils.kv['@0.1.16'].clear({
key: `${context.params.event.mentions[0].id}_blacklisted`,
value: true,
});
await lib.discord.channels['@0.2.0'].messages.create({
channel_id: context.params.event.channel_id,
content: ``,
tts: false,
embeds: [
{
type: 'rich',
title: ``,
description: `<@!${context.params.event.mentions[0].id}> was removed from blacklist`,
color: 0x00ffff,
},
],
});
return;
}