rashi-discord-bot-lib
Version:
🚀 Powerful Discord bot framework with built-in database, event handling, and utilities
38 lines • 1.75 kB
TypeScript
import { ChatInputCommandInteraction, Message } from 'discord.js';
import type { CommandOptions } from '../types';
import type { VerseDatabase } from '../types';
import type { CooldownController } from '../core/BotStarter';
type CooldownBackend = {
type: 'verse';
instance: VerseDatabase;
};
export declare class CooldownManager implements CooldownController {
private backend?;
private store;
constructor(backend?: CooldownBackend | undefined);
private key;
getRemaining(userId: string, command: string): Promise<number>;
set(userId: string, command: string, seconds: number): Promise<void>;
checkAndSet(userId: string, command: string, seconds: number): Promise<number>;
clear(userId: string, command: string): Promise<void>;
}
export declare function isOwner(userId: string): boolean;
export declare function isDev(userId: string): boolean;
export declare function checkContext(inGuild: boolean, options: CommandOptions): {
ok: boolean;
message?: string;
};
export declare function checkPermsSlash(interaction: ChatInputCommandInteraction, options: CommandOptions): {
ok: boolean;
userMissing: string[];
botMissing: string[];
};
export declare function checkPermsPrefix(message: Message, options: CommandOptions): {
ok: boolean;
userMissing: string[];
botMissing: string[];
};
export declare function enforceSlashGuards(interaction: ChatInputCommandInteraction, commandName: string, options: CommandOptions, cooldowns: CooldownController): Promise<boolean>;
export declare function enforcePrefixGuards(message: Message, commandName: string, options: CommandOptions, cooldowns: CooldownController): Promise<boolean>;
export {};
//# sourceMappingURL=commandGuards.d.ts.map