@kotori-bot/core
Version:
Kotori Core
35 lines (34 loc) • 1.39 kB
TypeScript
import { CronJob } from 'cron';
import { type CommandConfig, type MidwareCallback, type RegexpCallback, type TaskCallback, type FilterOption, type TaskOptions } from '../types';
import { Filter, Command, type SessionMsg } from '../components';
import { Symbols } from '../global';
import type { Context } from './core';
interface MidwareData {
callback: MidwareCallback;
priority: number;
}
interface RegexpData {
match: RegExp;
callback: RegexpCallback;
}
export declare class Message {
readonly [Symbols.midware]: Set<MidwareData>;
readonly [Symbols.command]: Set<Command>;
readonly [Symbols.regexp]: Set<RegexpData>;
readonly [Symbols.task]: Set<CronJob>;
readonly [Symbols.filter]: Map<string, Filter>;
readonly [Symbols.promise]: Map<string, ((value: SessionMsg['message']) => void)[]>;
private handleMidware;
private handleRegexp;
private handleCommand;
private readonly ctx;
constructor(ctx: Context);
midware(callback: MidwareCallback, priority?: number): () => boolean;
command<T extends string>(template: T, config?: CommandConfig): Command<T, {}, "all">;
regexp(match: RegExp, callback: RegexpCallback): () => boolean;
boardcast(): void;
notify(): void;
task(options: TaskOptions, callback: TaskCallback): () => boolean;
filter(option: FilterOption): Context;
}
export default Message;