import { UserConfig } from "../config"; import { Message, User } from "./message"; export interface FetchOptions { limit?: number; before?: string; after?: string; } export interface PlatformAdapter { onMessage(callback: (message: Message) => void): void; sendMessage(channelId: string, content: string): Promise; fetchMessages(channelId: string, options: FetchOptions): Promise; fetchMessageById( channelId: string, messageId: string ): Promise; getBotId(): string; // For identifying bot's own messages getUserById(userId: string): UserConfig | null; sendSystemLog?(content: string): Promise; searchUser(query: string): Promise; config: { indicators: { typing: boolean; processing: boolean; }; }; }