使用我们的 Telegram Bot API 镜像

Telegram Bot API

telegram-bot-api 项目是 Bot API 的后端程序,提供 HTTP 接口给机器人调用。

在开发机器人时,我们可以选择和官方的部署于荷兰节点的 Telegram Bot API 交互(即默认的 https://api.telegram.org/ 地址),也可以选择自己部署 Bot API 后端程序,让机器人和自己的后端交互。

我们的镜像

我们创建了gramlabs-oss/docker-telegram-bot-api仓库用于构建镜像,也可使用我们托管于 Dockr Hub 的预构建版本。

当你想为例如 Policr Mini 这样的项目配置自己的 API 后端时,应该考虑使用我们的 Bot API 镜像,因为它和开发进展具有绑定关系。查看docker-compose.dev.yml文件可以看到绑定的 Bot API 版本。

提示

我们发布的镜像还提供对 ARM64 架构的支持。

使用

这是一个示例 docker-compose.yml

services:
  telegram-bot-api:
    image: gramoss/telegram-bot-api:ade0841 # 标签 hash 对应 telegram-bot-api 特定提交
    environment:
      TELEGRAM_API_ID: <YOUR_TELEGRAM_API_ID>
      TELEGRAM_API_HASH: <YOUR_TELEGRAM_API_HASH>
      TELEGRAM_LOCAL_MODE: true # 添加 `--local` 选项

  your-bot:
    # Your bot service
    # 使用 `http://telegram-bot-api:8081` 作为基础 URL

镜像是 gramoss/telegram-bot-api,标签是 ade0841(对应telegram-bot-api/commit/ade0841)。

如果你是第三方项目的使用者,应从我们的 Docker Hub 标签页面找到最新的标签 hash,并使用它。也可以总是拉取默认的 latest 镜像。

是否必须使用?

严格来说是的。因为我们的项目总是使用最新的 Bot API 版本,其中会包含一些新的 API 变化。例如 Bot API 7.0 用 reply_parameters 替代了 reply_to_message_id 参数,我们的机器人程序代码也会第一时间适配这种变化。如果你使用第三方构建的 Bot API 后端,它们的版本可以较低,会忽略这种新参数,从而导致异常发生。