UNPKG

koishi-plugin-emojiluna

Version:

Smart emoji management plugin with AI categorization

57 lines (56 loc) 1.91 kB
import { Context } from 'koishi'; import { Config } from './config'; import { EmojiLunaService } from './services'; import { Category, EmojiItem, EmojiSearchOptions } from './types'; export declare function apply(ctx: Context, config: Config): void; export * from './config'; export * from './types'; export declare const inject: string[]; declare module 'koishi' { interface Context { emojiluna: EmojiLunaService; } interface Events { 'emojiluna/emoji-added': (emoji: EmojiItem) => void; 'emojiluna/emoji-deleted': (id: string) => void; 'emojiluna/emoji-updated': (emoji: EmojiItem) => void; 'emojiluna/category-added': (category: Category) => void; 'emojiluna/category-deleted': (id: string) => void; } interface Tables { emojiluna_emojis: { id: string; name: string; category: string; path: string; size: number; mime_type: string; created_at: Date; tags: string; image_hash: string; }; emojiluna_categories: { id: string; name: string; description: string; emoji_count: number; created_at: Date; }; } } declare module '@koishijs/console' { interface Events { 'emojiluna/getAiTaskStats': () => Promise<{ pending: number; processing: number; succeeded: number; failed: number; paused: boolean; }>; 'emojiluna/getEmojiCount': (options?: EmojiSearchOptions) => Promise<number>; 'emojiluna/getFailedAiEmojiIds': () => Promise<string[]>; 'emojiluna/reanalyzeBatch': (ids: string[]) => Promise<number>; 'emojiluna/setAiPaused': (paused: boolean) => void; 'emojiluna/retryFailedTasks': () => Promise<number>; } }