/** * Telegram 平台适配器 * * 使用 grammy 库实现 PlatformAdapter 接口 * 支持 Long Polling 模式连接 Telegram Bot API * 支持附件下载:photo、document、video、audio */ import type { Bot } from 'grammy'; import type { PlatformAdapter, PlatformSender, PlatformMessageEvent, PlatformActionEvent } from '../types.js'; /** * Telegram 平台适配器实现 */ export declare class TelegramAdapter implements PlatformAdapter { readonly platform: "telegram"; private readonly sender; private readonly messageCallbacks; private readonly actionCallbacks; private readonly messageConversationMap; private bot; private isActive; private botUsername; constructor(); getBot(): Bot | null; start(): Promise; stop(): void; getSender(): PlatformSender; onMessage(callback: (event: PlatformMessageEvent) => void): void; onAction(callback: (event: PlatformActionEvent) => void): void; isAdapterActive(): boolean; getConversationByMessageId(messageId: string): string | undefined; rememberMessageConversation(messageId: string, conversationId: string): void; forgetMessageConversation(messageId: string): void; forgetConversationMessages(conversationId: string): void; /** * 通过 file_id 下载 Telegram 文件 * @param fileId Telegram 文件 ID * @returns 文件内容和元信息,或 null 表示下载失败 */ downloadFile(fileId: string): Promise<{ buffer: Buffer; fileName: string; mimeType: string; } | null>; /** * 从消息中提取附件信息 * 支持 photo、document、video、audio 类型 */ private extractAttachmentFromMessage; /** * 确定消息类型 */ private determineMessageType; /** * 处理消息事件 */ private handleMessage; /** * 处理回调查询事件(按钮点击) */ private handleCallbackQuery; } export declare const telegramAdapter: TelegramAdapter; //# sourceMappingURL=telegram-adapter.d.ts.map