Skip to content

接入 Telegram ​

LenBot 直接调用 Telegram Bot API,用长轮询(getUpdates)收消息,不需要公网地址,也不需要额外安装协议端。一个实例接一个 Telegram Bot,可以和 QQ、飞书同时运行。

创建 Bot ​

  1. 在 Telegram 中打开 @BotFather,发送 /newbot,按提示起名,得到形如 7001234567:AA… 的 Bot 令牌。
  2. 发送 /setprivacy,选中这个 Bot,选择 Disable。Telegram 群默认开启隐私模式,Bot 只收到命令和回复它的消息;关闭后 Bot 才能看到群里的全部发言,参与讨论、记住上下文。也可以把 Bot 设为群管理员,效果相同。
  3. 把 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 一类当作命令,关闭隐私模式后 /日程 这样的中文命令才能收到。插件开发见多平台。

以 AGPL-3.0-only 发布