diff options
Diffstat (limited to 'src/commands/moderation/_activePunishments.ts')
-rw-r--r-- | src/commands/moderation/_activePunishments.ts | 149 |
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']] +// }); +// } +// } |