UNPKG

rashi-discord-bot-lib

Version:

🚀 Powerful Discord bot framework with built-in database, event handling, and utilities

38 lines • 1.75 kB
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