aboutsummaryrefslogtreecommitdiff
path: root/src/commands/moderation/_activePunishments.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/moderation/_activePunishments.ts')
-rw-r--r--src/commands/moderation/_activePunishments.ts149
1 files changed, 74 insertions, 75 deletions
diff --git a/src/commands/moderation/_activePunishments.ts b/src/commands/moderation/_activePunishments.ts
index e751493..92b4242 100644
--- a/src/commands/moderation/_activePunishments.ts
+++ b/src/commands/moderation/_activePunishments.ts
@@ -1,79 +1,78 @@
-/* import { BushCommand, ModLog, ModLogModel, type BushGuildMember, type BushMessage, type BushSlashMessage } from '#lib';
-import { FindOptions, Op } from 'sequelize';
-import { Permissions } from 'discord.js';
+// import { BushCommand, ModLog, ModLogModel, OptArgType, type CommandMessage, type SlashMessage } from '#lib';
+// import { ApplicationCommandOptionType, PermissionFlagsBits } from 'discord.js';
+// import { FindOptions, Op } from 'sequelize';
-const punishmentTypes = ['ban', 'kick', 'mute', 'warn', 'role'] as const;
+// const punishmentTypes = ['ban', 'kick', 'mute', 'warn', 'role'] as const;
-export default class ActivePunishmentsCommand extends BushCommand {
- public constructor() {
- super('activePunishments', {
- aliases: ['active-punishments', 'ap'],
- category: 'moderation',
- description: 'Gets a list of all the active punishment in the server.',
- usage: [`active-punishments [--moderator <user>] [--type <${punishmentTypes.map((v) => `'${v}'`).join('|')}>]`],
- examples: ['active-punishments'],
- args: [
- {
- id: 'moderator',
- description: 'Only show active punishments by this moderator.',
- type: 'user',
- match: 'option',
- prompt: 'Only show active punishments from what user?',
- optional: true,
- slashType: ApplicationCommandOptionType.User,
- slashResolve: 'Member'
- },
- {
- id: 'type',
- description: 'Only show active punishments of this type.',
- customType: [...punishmentTypes],
- readableType: punishmentTypes.map((v) => `'${v}'`).join('|'),
- match: 'option',
- optional: true,
- slashType: ApplicationCommandOptionType.String,
- choices: punishmentTypes.map((v) => ({ name: v, value: v }))
- }
- ],
- slash: true,
- channel: 'guild',
- hidden: true,
- clientPermissions: (m) => util.clientSendAndPermCheck(m),
- userPermissions: (m) => util.userGuildPermCheck(m, [PermissionFlagsBits.ManageMessages])
- });
- }
+// export default class ActivePunishmentsCommand extends BushCommand {
+// public constructor() {
+// super('activePunishments', {
+// aliases: ['active-punishments', 'ap'],
+// category: 'moderation',
+// description: 'Gets a list of all the active punishment in the server.',
+// usage: [`active-punishments [--moderator <user>] [--type <${punishmentTypes.map((v) => `'${v}'`).join('|')}>]`],
+// examples: ['active-punishments'],
+// args: [
+// {
+// id: 'moderator',
+// description: 'Only show active punishments by this moderator.',
+// type: 'user',
+// match: 'option',
+// prompt: 'Only show active punishments from what user?',
+// optional: true,
+// slashType: ApplicationCommandOptionType.User,
+// slashResolve: 'Member'
+// },
+// {
+// id: 'type',
+// description: 'Only show active punishments of this type.',
+// customType: [...punishmentTypes],
+// readableType: punishmentTypes.map((v) => `'${v}'`).join('|'),
+// match: 'option',
+// optional: true,
+// slashType: ApplicationCommandOptionType.String,
+// choices: punishmentTypes.map((v) => ({ name: v, value: v }))
+// }
+// ],
+// slash: true,
+// channel: 'guild',
+// hidden: true,
+// clientPermissions: (m) => util.clientSendAndPermCheck(m),
+// userPermissions: (m) => util.userGuildPermCheck(m, [PermissionFlagsBits.ManageMessages])
+// });
+// }
- public override async exec(
- message: BushMessage | BushSlashMessage,
- args: { moderator?: BushGuildMember; type: typeof punishmentTypes[number] }
- ) {
- const where: FindOptions<ModLogModel>['where'] = { guild: message.guild!.id };
- if (args.moderator?.id) where.user = args.moderator.id;
- if (args.type) {
- switch (args.type) {
- case 'ban':
- where.type = { [Op.or]: ['PERM_BAN', 'TEMP_BAN', 'UNBAN'] };
- break;
- case 'kick':
- where.type = { [Op.or]: ['KICK'] };
- break;
- case 'mute':
- where.type = { [Op.or]: ['PERM_MUTE', 'TEMP_MUTE', 'UNMUTE'] };
- break;
- case 'warn':
- where.type = { [Op.or]: ['WARN'] };
- break;
- case 'role':
- where.type = { [Op.or]: ['PERM_PUNISHMENT_ROLE', 'TEMP_PUNISHMENT_ROLE', 'REMOVE_PUNISHMENT_ROLE'] };
- break;
- default:
- return message.util.reply(`${util.emojis.error} You supplied an invalid case type to filter by.`);
- }
- }
+// public override async exec(
+// message: CommandMessage | SlashMessage,
+// args: { moderator: OptArgType<'user' | 'member'>; type: typeof punishmentTypes[number] }
+// ) {
+// const where: FindOptions<ModLogModel>['where'] = { guild: message.guild!.id };
+// if (args.moderator?.id) where.user = args.moderator.id;
+// if (args.type) {
+// switch (args.type) {
+// case 'ban':
+// where.type = { [Op.or]: ['PERM_BAN', 'TEMP_BAN', 'UNBAN'] };
+// break;
+// case 'kick':
+// where.type = { [Op.or]: ['KICK'] };
+// break;
+// case 'mute':
+// where.type = { [Op.or]: ['PERM_MUTE', 'TEMP_MUTE', 'UNMUTE'] };
+// break;
+// case 'warn':
+// where.type = { [Op.or]: ['WARN'] };
+// break;
+// case 'role':
+// where.type = { [Op.or]: ['PERM_PUNISHMENT_ROLE', 'TEMP_PUNISHMENT_ROLE', 'REMOVE_PUNISHMENT_ROLE'] };
+// break;
+// default:
+// return message.util.reply(`${util.emojis.error} You supplied an invalid case type to filter by.`);
+// }
+// }
- const logs = await ModLog.findAll({
- where,
- order: [['createdAt', 'ASC']]
- });
- }
-}
- */
+// const logs = await ModLog.findAll({
+// where,
+// order: [['createdAt', 'ASC']]
+// });
+// }
+// }