From 048f99752550c6e03d1990a03cad78f3ac7d73aa Mon Sep 17 00:00:00 2001 From: IRONM00N <64110067+IRONM00N@users.noreply.github.com> Date: Mon, 5 Sep 2022 17:36:42 -0400 Subject: revamp command permissions, fix permission exploit for some command when used in forum channels, use enums more --- src/commands/config/_customAutomodPhrases.ts | 4 ++-- src/commands/config/blacklist.ts | 7 +++---- src/commands/config/config.ts | 5 ++--- src/commands/config/disable.ts | 9 ++++----- src/commands/config/features.ts | 7 +++---- src/commands/config/log.ts | 7 +++---- 6 files changed, 17 insertions(+), 22 deletions(-) (limited to 'src/commands/config') diff --git a/src/commands/config/_customAutomodPhrases.ts b/src/commands/config/_customAutomodPhrases.ts index 0b571e5..5925fb5 100644 --- a/src/commands/config/_customAutomodPhrases.ts +++ b/src/commands/config/_customAutomodPhrases.ts @@ -30,8 +30,8 @@ // ], // slash: true, // channel: 'guild', -// clientPermissions: (m) => clientSendAndPermCheck(m), -// userPermissions: [PermissionFlagsBits.ManageGuild] +// clientPermissions: [], +// userPermissions: ['ManageGuild'] // }); // } diff --git a/src/commands/config/blacklist.ts b/src/commands/config/blacklist.ts index 5419658..c7f3d99 100644 --- a/src/commands/config/blacklist.ts +++ b/src/commands/config/blacklist.ts @@ -3,7 +3,6 @@ import { AllowedMentions, Arg, BotCommand, - clientSendAndPermCheck, emojis, format, type ArgType, @@ -11,7 +10,7 @@ import { type SlashMessage } from '#lib'; import assert from 'assert/strict'; -import { ApplicationCommandOptionType, GuildMember, PermissionFlagsBits, User } from 'discord.js'; +import { ApplicationCommandOptionType, GuildMember, User } from 'discord.js'; export default class BlacklistCommand extends BotCommand { public constructor() { @@ -52,8 +51,8 @@ export default class BlacklistCommand extends BotCommand { } ], slash: true, - clientPermissions: (m) => clientSendAndPermCheck(m), - userPermissions: [PermissionFlagsBits.ManageGuild] + clientPermissions: [], + userPermissions: ['ManageGuild'] }); } diff --git a/src/commands/config/config.ts b/src/commands/config/config.ts index a37d67c..b923d56 100644 --- a/src/commands/config/config.ts +++ b/src/commands/config/config.ts @@ -1,7 +1,6 @@ import { addOrRemoveFromArray, BotCommand, - clientSendAndPermCheck, colors, emojis, GuildNoArraySetting, @@ -149,8 +148,8 @@ export default class ConfigCommand extends BotCommand { }; }), channel: 'guild', - clientPermissions: (m) => clientSendAndPermCheck(m), - userPermissions: [PermissionFlagsBits.ManageGuild] + clientPermissions: [], + userPermissions: ['ManageGuild'] }); } diff --git a/src/commands/config/disable.ts b/src/commands/config/disable.ts index a4a876c..6dd94a6 100644 --- a/src/commands/config/disable.ts +++ b/src/commands/config/disable.ts @@ -3,14 +3,13 @@ import { AllowedMentions, Arg, BotCommand, - clientSendAndPermCheck, emojis, type ArgType, type CommandMessage, type SlashMessage } from '#lib'; import assert from 'assert/strict'; -import { ApplicationCommandOptionType, AutocompleteInteraction, PermissionFlagsBits } from 'discord.js'; +import { ApplicationCommandOptionType, AutocompleteInteraction } from 'discord.js'; import { default as Fuse } from 'fuse.js'; assert(Fuse); @@ -29,7 +28,7 @@ export default class DisableCommand extends BotCommand { { id: 'action', description: 'Whether to disable or enable the command.', - readableType: "'disable'|'enable", + readableType: "'disable'|'enable'", prompt: 'Would you like to disable or enable a command?', slashType: ApplicationCommandOptionType.String, choices: ['disable', 'enable'].map((v) => ({ name: v, value: v })), @@ -58,8 +57,8 @@ export default class DisableCommand extends BotCommand { ], slash: true, channel: 'guild', - clientPermissions: (m) => clientSendAndPermCheck(m), - userPermissions: [PermissionFlagsBits.ManageGuild] + clientPermissions: [], + userPermissions: ['ManageGuild'] }); } diff --git a/src/commands/config/features.ts b/src/commands/config/features.ts index 55f99bd..8d69d17 100644 --- a/src/commands/config/features.ts +++ b/src/commands/config/features.ts @@ -1,6 +1,5 @@ import { BotCommand, - clientSendAndPermCheck, colors, emojis, guildFeaturesArr, @@ -14,7 +13,6 @@ import { ActionRowBuilder, ComponentType, EmbedBuilder, - PermissionFlagsBits, SelectMenuBuilder, type Message, type SelectMenuInteraction @@ -30,8 +28,9 @@ export default class FeaturesCommand extends BotCommand { examples: ['features'], slash: true, channel: 'guild', - clientPermissions: (m) => clientSendAndPermCheck(m, [PermissionFlagsBits.EmbedLinks], true), - userPermissions: [PermissionFlagsBits.ManageGuild] + clientPermissions: ['EmbedLinks'], + clientCheckChannel: true, + userPermissions: ['ManageGuild'] }); } diff --git a/src/commands/config/log.ts b/src/commands/config/log.ts index f058670..493d486 100644 --- a/src/commands/config/log.ts +++ b/src/commands/config/log.ts @@ -1,6 +1,5 @@ import { BotCommand, - clientSendAndPermCheck, emojis, guildLogsArr, oxford, @@ -11,7 +10,7 @@ import { } from '#lib'; import assert from 'assert/strict'; import { ArgumentGeneratorReturn } from 'discord-akairo'; -import { ApplicationCommandOptionType, ChannelType, PermissionFlagsBits } from 'discord.js'; +import { ApplicationCommandOptionType, ChannelType } from 'discord.js'; export default class LogCommand extends BotCommand { public constructor() { @@ -48,8 +47,8 @@ export default class LogCommand extends BotCommand { } ], channel: 'guild', - clientPermissions: (m) => clientSendAndPermCheck(m), - userPermissions: [PermissionFlagsBits.ManageGuild] + clientPermissions: [], + userPermissions: ['ManageGuild'] }); } -- cgit