aboutsummaryrefslogtreecommitdiff
path: root/lib/extensions/discord-akairo/BotInhibitor.ts
blob: d134eab12ae39c3481fbe6c7da8ca8f350934b31 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { type BotCommand, type CommandMessage, type SlashMessage } from '#lib';
import { Inhibitor } from 'discord-akairo';
import { Message } from 'discord.js';

export abstract class BotInhibitor extends Inhibitor {
	/**
	 * Checks if message should be blocked.
	 * A return value of true will block the message.
	 * If returning a Promise, a resolved value of true will block the message.
	 *
	 * **Note:** `'all'` type inhibitors do not have {@link Message.util} defined.
	 *
	 * @param message - Message being handled.
	 * @param command - Command to check.
	 */
	public abstract override exec(message: CommandMessage, command: BotCommand): any;
	public abstract override exec(message: CommandMessage | SlashMessage, command: BotCommand): any;
}