使用我们的 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 后端,它们的版本可以较低,会忽略这种新参数,从而导致异常发生。