接入 Telegram
LenBot 直接调用 Telegram Bot API,用长轮询(getUpdates)收消息,不需要公网地址,也不需要额外安装协议端。一个实例接一个 Telegram Bot,可以和 QQ、飞书同时运行。
创建 Bot
- 在 Telegram 中打开 @BotFather,发送
/newbot,按提示起名,得到形如7001234567:AA…的 Bot 令牌。 - 发送
/setprivacy,选中这个 Bot,选择 Disable。Telegram 群默认开启隐私模式,Bot 只收到命令和回复它的消息;关闭后 Bot 才能看到群里的全部发言,参与讨论、记住上下文。也可以把 Bot 设为群管理员,效果相同。 - 把 Bot 拉进群。隐私模式改动之前已经在群里的 Bot,需要移出后重新拉入,新设置才生效。
在面板中接入
首次配置:向导第一步接入平台选 Telegram,填写 Bot 令牌;需要代理时填写 HTTP 代理(例如 http://127.0.0.1:7890)。点击测试连接,显示 已连接:@Bot用户名 后进入下一步。
Bot API 不能列出 Bot 所在的群。把 Bot 拉进群后,在群里发一条消息,再点一次测试连接:这个群会出现在第一个群的群列表里,发消息的人会出现在主人的列表里。也可以手动填写:群 ID 是负数,超级群以 -100 开头;主人填 Telegram 用户 ID(纯数字)。
已有实例:在系统 → 设置 → 连接打开 Telegram 卡片的开关,填写 Bot 令牌,点击测试连接,保存后重启生效。之后在群聊页接入新群时,群里有人发过消息的群会出现在已加入的群列表中,手动填写时选择 Telegram 平台。
账号和场景都带 telegram: 前缀,例如群 telegram:group:-1001234567890、成员 telegram:501。
网络与代理
- 访问
api.telegram.org受限的网络需要代理,只支持http://和https://代理。 - 自建的 Bot API 服务在更多设置里修改 Bot API 地址;修改地址后需要重新填写 Bot 令牌。
- Bot 令牌不进入日志、数据库和模型上下文;文件下载地址含有令牌,只在宿主内部使用。
- LenBot 启动前积压超过 60 秒的消息只确认、不处理,与 QQ 不补收离线消息一致。
能做什么
| 能力 | Telegram |
|---|---|
收发文字、@ 成员、回复指定消息 | 支持。没有用户名的成员以可点击的名字提及 |
| 看图、收藏表情 | 支持,图片经 Bot API 下载,单个文件最大 20 MB |
| 语音转写 | 支持,语音以 OGG Opus 原样交给语音识别服务 |
| 发送任务交付文件 | 支持,以文档发送,单个文件最大 50 MB |
| 群友发的文件交给后台任务 | 支持,聊天模型委托任务时按消息选取文件,单个文件最大 20 MB |
| 长文字 | 超过 4096 字(带图时 1024 字)自动拆成多条,在换行处断开 |
| 入群、退群通知 | 支持,一次加入多人时只记第一位 |
| 撤回通知 | 不提供,Bot API 不推送删除 |
| 群文件、成员资料查询、合并转发、表情回应 | 只在 QQ 提供 |
| 全员提醒 | Telegram 没有全员提醒,@全体成员 会被省略 |
论坛话题群的各个话题算同一个群,Bot 不回复具体消息的发言发到最近一次有人说话的话题。
语音转写使用模型页配置的语音识别服务,服务需要接受 OGG Opus 格式;QQ 的语音由协议端转成 WAV,不受影响。
插件
插件在 Telegram 群里照常工作。Telegram 只把拉丁字母、数字和下划线组成的 /start 一类当作命令,关闭隐私模式后 /日程 这样的中文命令才能收到。插件开发见多平台。