import { BushCommand, BushMessage, BushNewsChannel, BushSlashMessage, BushTextChannel } from '@lib'; export default class LockdownCommand extends BushCommand { public constructor() { super('lockdown', { aliases: ['lockdown', 'unlockdown'], category: 'moderation', description: { content: 'Allows you to lockdown a channel or all configured channels..', usage: 'lockdown [--all]', examples: ['lockdown', 'lockdown --all'] }, args: [ { id: 'all', match: 'flag', flag: '--all' } ], slash: true, slashOptions: [ { name: 'all', description: 'Would you like to lockdown all channels?', type: 'BOOLEAN', required: false } ], channel: 'guild', clientPermissions: ['SEND_MESSAGES'], userPermissions: ['SEND_MESSAGES'] }); } public override async exec(message: BushMessage | BushSlashMessage, { all }: { all: boolean }): Promise<unknown> { return await message.util.reply('no'); if (!all) { if (!['GUILD_TEXT', 'GUILD_NEWS'].includes(message.channel!.type)) return message.util.reply(`${util.emojis.error} You can only lock down text and announcement channels.`); // eslint-disable-next-line @typescript-eslint/no-unused-vars const lockdownSuccess = await util.lockdownChannel({ channel: message.channel as BushTextChannel | BushNewsChannel, moderator: message.author }); } } }