/** * Telegram 消息处理器 * * 参考 wecom.ts 和 discord.ts 的结构,处理 Telegram 消息 * 支持附件处理:photo、document、video、audio */ import type { PlatformMessageEvent, PlatformSender } from '../platform/types.js'; export declare class TelegramHandler { private ensureStreamingBuffer; private getPermissionQueueKey; private resolvePermissionDirectoryOptions; private formatDispatchError; /** * 处理 Telegram 消息 */ handleMessage(event: PlatformMessageEvent, sender: PlatformSender): Promise; /** * 尝试处理待处理的权限请求(文本回复) */ private tryHandlePendingPermission; /** * 获取待回答的问题 */ private getPendingQuestionByConversation; /** * 尝试处理待回答的问题(文本回复) */ private tryHandlePendingQuestion; /** * 更新草稿答案 */ private updateDraftAnswerFromParsed; /** * 应用问答答案 */ private applyPendingQuestionAnswer; /** * 提交所有问题答案 */ private submitPendingQuestion; /** * 触发问答缓冲区更新 */ private touchQuestionBuffer; /** * 处理回调查询(按钮点击) */ handleAction(event: { action: { tag: string; value: Record; }; senderId: string; conversationId?: string; messageId?: string; }, sender: PlatformSender): Promise; /** * 处理权限确认回调 */ private handlePermissionCallback; /** * 处理问答回调 */ private handleQuestionCallback; /** * 推进到下一题或提交答案 */ private advanceOrSubmitQuestion; /** * 处理命令 */ private handleCommand; /** * 获取 Telegram 帮助文本 */ private getTelegramHelpText; /** * 处理新建会话 */ private handleNewSession; /** * 处理切换会话 */ private handleSwitchSession; /** * 处理列出会话 */ private handleListSessions; /** * 处理模型切换 */ private handleModel; /** * 列出所有可用模型 */ private handleModels; /** * 处理角色切换 */ private handleAgent; /** * 列出所有可用角色 */ private handleAgents; /** * 处理强度设置 */ private handleEffort; /** * 处理撤回 */ private handleUndo; /** * 处理压缩上下文 */ private handleCompact; /** * 处理重命名 */ private handleRename; /** * 处理项目列表 */ private handleProjectList; /** * 处理显示群默认项目 */ private handleProjectDefaultShow; /** * 处理设置群默认项目 */ private handleProjectDefaultSet; /** * 处理清除群默认项目 */ private handleProjectDefaultClear; /** * 处理消息发送 */ private processPrompt; /** * 处理 Telegram 附件 * 下载文件并转换为 OpenCode 需要的格式 */ private prepareAttachmentParts; } export declare const telegramHandler: TelegramHandler; //# sourceMappingURL=telegram.d.ts.map