diff options
| author | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2022-09-05 17:36:42 -0400 |
|---|---|---|
| committer | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2022-09-05 17:36:42 -0400 |
| commit | 048f99752550c6e03d1990a03cad78f3ac7d73aa (patch) | |
| tree | c238ac29b1b526e86bcbc4989036df981c860187 /src/commands | |
| parent | 6f8a4d13a490eda7a195d14833c83810f7b5a789 (diff) | |
| download | tanzanite-048f99752550c6e03d1990a03cad78f3ac7d73aa.tar.gz tanzanite-048f99752550c6e03d1990a03cad78f3ac7d73aa.tar.bz2 tanzanite-048f99752550c6e03d1990a03cad78f3ac7d73aa.zip | |
revamp command permissions, fix permission exploit for some command when used in forum channels, use enums more
Diffstat (limited to 'src/commands')
88 files changed, 343 insertions, 514 deletions
diff --git a/src/commands/admin/channelPermissions.ts b/src/commands/admin/channelPermissions.ts index e17a85b..46f6db3 100644 --- a/src/commands/admin/channelPermissions.ts +++ b/src/commands/admin/channelPermissions.ts @@ -2,7 +2,6 @@ import { Arg, BotCommand, ButtonPaginator, - clientSendAndPermCheck, emojis, formatError, type ArgType, @@ -10,7 +9,7 @@ import { type SlashMessage } from '#lib'; import assert from 'assert/strict'; -import { ApplicationCommandOptionType, EmbedBuilder, PermissionFlagsBits } from 'discord.js'; +import { ApplicationCommandOptionType, EmbedBuilder } from 'discord.js'; export default class ChannelPermissionsCommand extends BotCommand { public constructor() { @@ -58,8 +57,8 @@ export default class ChannelPermissionsCommand extends BotCommand { ] } ], - clientPermissions: (m) => clientSendAndPermCheck(m, [PermissionFlagsBits.ManageChannels]), - userPermissions: [PermissionFlagsBits.Administrator], + clientPermissions: ['ManageChannels'], + userPermissions: ['Administrator'], channel: 'guild', slash: true, lock: 'guild' diff --git a/src/commands/admin/roleAll.ts b/src/commands/admin/roleAll.ts index 3675891..446f3cd 100644 --- a/src/commands/admin/roleAll.ts +++ b/src/commands/admin/roleAll.ts @@ -1,12 +1,4 @@ -import { - AllowedMentions, - BotCommand, - clientSendAndPermCheck, - emojis, - type ArgType, - type CommandMessage, - type SlashMessage -} from '#lib'; +import { AllowedMentions, BotCommand, emojis, type ArgType, type CommandMessage, type SlashMessage } from '#lib'; import assert from 'assert/strict'; import { ApplicationCommandOptionType, PermissionFlagsBits, type GuildMember } from 'discord.js'; @@ -38,8 +30,8 @@ export default class RoleAllCommand extends BotCommand { } ], channel: 'guild', - clientPermissions: (m) => clientSendAndPermCheck(m, [PermissionFlagsBits.ManageRoles]), - userPermissions: [PermissionFlagsBits.Administrator], + clientPermissions: ['ManageRoles'], + userPermissions: ['Administrator'], typing: true, slash: true, lock: 'guild' 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'] }); } diff --git a/src/commands/dev/__template.ts b/src/commands/dev/__template.ts index fbb88ac..0fc133f 100644 --- a/src/commands/dev/__template.ts +++ b/src/commands/dev/__template.ts @@ -1,12 +1,4 @@ -import { - BotCommand, - clientSendAndPermCheck, - emojis, - type ArgType, - type CommandMessage, - type OptArgType, - type SlashMessage -} from '#lib'; +import { BotCommand, emojis, type ArgType, type CommandMessage, type OptArgType, type SlashMessage } from '#lib'; import { ApplicationCommandOptionType } from 'discord.js'; export default class TemplateCommand extends BotCommand { @@ -41,7 +33,7 @@ export default class TemplateCommand extends BotCommand { ownerOnly: true, channel: 'guild', hidden: true, - clientPermissions: (m) => clientSendAndPermCheck(m), + clientPermissions: [], userPermissions: [] }); } diff --git a/src/commands/dev/dm.ts b/src/commands/dev/dm.ts index e51651e..c3b2831 100644 --- a/src/commands/dev/dm.ts +++ b/src/commands/dev/dm.ts @@ -1,4 +1,4 @@ -import { BotCommand, clientSendAndPermCheck, emojis, format, type ArgType, type CommandMessage, type SlashMessage } from '#lib'; +import { BotCommand, emojis, format, type ArgType, type CommandMessage, type SlashMessage } from '#lib'; import { ApplicationCommandOptionType } from 'discord.js'; export default class DMCommand extends BotCommand { @@ -31,7 +31,8 @@ export default class DMCommand extends BotCommand { slash: false, ownerOnly: true, hidden: true, - clientPermissions: (m) => clientSendAndPermCheck(m), + skipSendCheck: true, + clientPermissions: [], userPermissions: [] }); } diff --git a/src/commands/dev/eval.ts b/src/commands/dev/eval.ts index 3929f99..83168e0 100644 --- a/src/commands/dev/eval.ts +++ b/src/commands/dev/eval.ts @@ -173,6 +173,7 @@ export default class EvalCommand extends BotCommand { ], slash: true, ownerOnly: true, + skipSendCheck: true, clientPermissions: [], userPermissions: [] }); diff --git a/src/commands/dev/javascript.ts b/src/commands/dev/javascript.ts index 43ccf94..c34ec42 100644 --- a/src/commands/dev/javascript.ts +++ b/src/commands/dev/javascript.ts @@ -1,13 +1,4 @@ -import { - BotCommand, - clientSendAndPermCheck, - colors, - emojis, - type ArgType, - type CommandMessage, - type OptArgType, - type SlashMessage -} from '#lib'; +import { BotCommand, colors, emojis, type ArgType, type CommandMessage, type OptArgType, type SlashMessage } from '#lib'; import assert from 'assert/strict'; import { ApplicationCommandOptionType, EmbedBuilder } from 'discord.js'; import { VM } from 'vm2'; @@ -44,7 +35,8 @@ export default class JavascriptCommand extends BotCommand { ], slash: true, superUserOnly: true, - clientPermissions: (m) => clientSendAndPermCheck(m), + clientPermissions: ['EmbedLinks'], + clientCheckChannel: true, userPermissions: [] }); } diff --git a/src/commands/dev/reload.ts b/src/commands/dev/reload.ts index 2d5b9d9..57746b3 100644 --- a/src/commands/dev/reload.ts +++ b/src/commands/dev/reload.ts @@ -1,4 +1,4 @@ -import { BotCommand, clientSendAndPermCheck, emojis, formatError, shell, type CommandMessage, type SlashMessage } from '#lib'; +import { BotCommand, emojis, formatError, shell, type CommandMessage, type SlashMessage } from '#lib'; |
