aboutsummaryrefslogtreecommitdiff
path: root/src/commands
diff options
context:
space:
mode:
authorIRONM00N <64110067+IRONM00N@users.noreply.github.com>2022-09-05 17:36:42 -0400
committerIRONM00N <64110067+IRONM00N@users.noreply.github.com>2022-09-05 17:36:42 -0400
commit048f99752550c6e03d1990a03cad78f3ac7d73aa (patch)
treec238ac29b1b526e86bcbc4989036df981c860187 /src/commands
parent6f8a4d13a490eda7a195d14833c83810f7b5a789 (diff)
downloadtanzanite-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')
-rw-r--r--src/commands/admin/channelPermissions.ts7
-rw-r--r--src/commands/admin/roleAll.ts14
-rw-r--r--src/commands/config/_customAutomodPhrases.ts4
-rw-r--r--src/commands/config/blacklist.ts7
-rw-r--r--src/commands/config/config.ts5
-rw-r--r--src/commands/config/disable.ts9
-rw-r--r--src/commands/config/features.ts7
-rw-r--r--src/commands/config/log.ts7
-rw-r--r--src/commands/dev/__template.ts12
-rw-r--r--src/commands/dev/dm.ts5
-rw-r--r--src/commands/dev/eval.ts1
-rw-r--r--src/commands/dev/javascript.ts14
-rw-r--r--src/commands/dev/reload.ts5
-rw-r--r--src/commands/dev/say.ts1
-rw-r--r--src/commands/dev/servers.ts13
-rw-r--r--src/commands/dev/superUser.ts10
-rw-r--r--src/commands/dev/syncAutomod.ts4
-rw-r--r--src/commands/dev/test.ts14
-rw-r--r--src/commands/fun/coinFlip.ts4
-rw-r--r--src/commands/fun/dice.ts4
-rw-r--r--src/commands/fun/eightBall.ts4
-rw-r--r--src/commands/fun/minesweeper.ts12
-rw-r--r--src/commands/info/avatar.ts7
-rw-r--r--src/commands/info/botInfo.ts15
-rw-r--r--src/commands/info/color.ts16
-rw-r--r--src/commands/info/guildInfo.ts4
-rw-r--r--src/commands/info/help.ts32
-rw-r--r--src/commands/info/icon.ts7
-rw-r--r--src/commands/info/inviteInfo.ts8
-rw-r--r--src/commands/info/links.ts4
-rw-r--r--src/commands/info/ping.ts7
-rw-r--r--src/commands/info/pronouns.ts14
-rw-r--r--src/commands/info/snowflake.ts14
-rw-r--r--src/commands/info/userInfo.ts11
-rw-r--r--src/commands/leveling/leaderboard.ts15
-rw-r--r--src/commands/leveling/level.ts4
-rw-r--r--src/commands/leveling/levelRoles.ts17
-rw-r--r--src/commands/leveling/setLevel.ts18
-rw-r--r--src/commands/leveling/setXp.ts18
-rw-r--r--src/commands/moderation/_activePunishments.ts4
-rw-r--r--src/commands/moderation/ban.ts6
-rw-r--r--src/commands/moderation/block.ts8
-rw-r--r--src/commands/moderation/evidence.ts8
-rw-r--r--src/commands/moderation/hideCase.ts18
-rw-r--r--src/commands/moderation/kick.ts7
-rw-r--r--src/commands/moderation/lockdown.ts7
-rw-r--r--src/commands/moderation/massBan.ts8
-rw-r--r--src/commands/moderation/massEvidence.ts7
-rw-r--r--src/commands/moderation/modlog.ts8
-rw-r--r--src/commands/moderation/mute.ts8
-rw-r--r--src/commands/moderation/myLogs.ts4
-rw-r--r--src/commands/moderation/purge.ts21
-rw-r--r--src/commands/moderation/removeReactionEmoji.ts20
-rw-r--r--src/commands/moderation/role.ts5
-rw-r--r--src/commands/moderation/slowmode.ts20
-rw-r--r--src/commands/moderation/timeout.ts7
-rw-r--r--src/commands/moderation/unban.ts6
-rw-r--r--src/commands/moderation/unblock.ts8
-rw-r--r--src/commands/moderation/unlockdown.ts8
-rw-r--r--src/commands/moderation/unmute.ts8
-rw-r--r--src/commands/moderation/untimeout.ts7
-rw-r--r--src/commands/moderation/warn.ts8
-rw-r--r--src/commands/moulberry-bush/capePermissions.ts6
-rw-r--r--src/commands/moulberry-bush/capes.ts6
-rw-r--r--src/commands/moulberry-bush/gimmeRole.ts42
-rw-r--r--src/commands/moulberry-bush/giveawayPing.ts13
-rw-r--r--src/commands/moulberry-bush/moulHammer.ts7
-rw-r--r--src/commands/moulberry-bush/neuRepo.ts13
-rw-r--r--src/commands/moulberry-bush/report.ts6
-rw-r--r--src/commands/moulberry-bush/rule.ts16
-rw-r--r--src/commands/moulberry-bush/serverStatus.ts7
-rw-r--r--src/commands/moulberry-bush/solved.ts4
-rw-r--r--src/commands/tickets/ticket-!.ts4
-rw-r--r--src/commands/utilities/_poll.ts2
-rw-r--r--src/commands/utilities/activity.ts3
-rw-r--r--src/commands/utilities/calculator.ts13
-rw-r--r--src/commands/utilities/decode.ts14
-rw-r--r--src/commands/utilities/hash.ts2
-rw-r--r--src/commands/utilities/highlight-!.ts5
-rw-r--r--src/commands/utilities/price.ts7
-rw-r--r--src/commands/utilities/remind.ts3
-rw-r--r--src/commands/utilities/reminders.ts6
-rw-r--r--src/commands/utilities/steal.ts18
-rw-r--r--src/commands/utilities/suicide.ts5
-rw-r--r--src/commands/utilities/uuid.ts14
-rw-r--r--src/commands/utilities/viewRaw.ts38
-rw-r--r--src/commands/utilities/whoHasRole.ts4
-rw-r--r--src/commands/utilities/wolframAlpha.ts14
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';