用途:操作 joelclaw 的 Telegram 频道,作为 Joel 与网关智能体之间的主要移动端接口。基于 grammy@1.40.0(Bot API 封装),支持文本、媒体、表情回应、回复、内联按钮、回调与流式输出。
主要能力:发送消息(单条上限 4096 字符,HTML 感知分块,markdown 转 HTML 并在校验失败时回退纯文本);内联按钮与回调(回调数据上限 64 字节,格式 action:context);表情回应(固定 emoji 集合,智能体约定在回复开头写 <react:EMOJI>,由出站路由剥离并调用 setMessageReaction);回复(<reply:MSG_ID> 指令);媒体收发(photo/video/audio/voice/document,下载经 getFile 到 /tmp/joelclaw-media/,Bot API 下载上限 20MB);流式输出(begin/pushDelta/finish/abort,流式期间纯文本,finish 时加 HTML,编辑节流 800ms,带光标)。
使用方式:通过频道适配器 telegramChannel.send 或 getBot() 直接调用 grammy API;命令 /stop、/esc 中止当前回合,/kill 硬停止。多实例轮询用 Redis 租约(键 joelclaw:gateway:telegram:poll-owner:<tokenHash>),仅持有者轮询 getUpdates。投递审计可用 joelclaw otel search "telegram.delivery" --hours 24 等命令查询,默认适配器不可用时加 --adapter typesense-otel。
配置与限制:通过环境变量 TELEGRAM_BOT_TOKEN、TELEGRAM_USER_ID 配置(正迁移到 ~/.joelclaw/channels.toml)。单用户锁定,非授权用户消息被中间件丢弃。telegram.delivery.confirmed 仅表示 Bot API 接受发送并返回消息 ID,不代表已读。队列使用 LRANGE 后 DEL,缺少可靠 claim/ack 与死信队列。流式在模型先调用工具时可能无增量。具体收费、价格与平台信息暂未提供。