import { Message } from "discord.js"; export type BotEvent = (actionsDone: boolean, ...params: any[]) => boolean | Promise; export interface IDocumentation { auth: boolean; description: string; }; export type DocumentationSet = { [command: string] : IDocumentation; }; export interface IBotCommand { pattern: string | RegExp; action(message: Message, strippedContents: string, matches?: RegExpMatchArray) : void; }; export interface ICommand { commands?: Array; documentation?: DocumentationSet; onMessage?(actionsDone: boolean, m : Message, content: string) : boolean | Promise; onIndirectMention?(actionsDone: boolean, m: Message) : boolean | Promise; onDirectMention?(actionsDone: boolean, m: Message, content: string) : boolean | Promise; postMessage?(actionsDone: boolean, m: Message) : boolean | Promise; onStart?(): void | Promise; };