
ChatGPT-Telegram-Bot
在 Telegram 里一个机器人搞定 GPT、Gemini、Claude,还能联网搜索和画图
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1290
技术标签
使用教程
环境要求
- Telegram 机器人 BOT_TOKEN(需向 @BotFather 申请)
- OpenAI 兼容格式的 API_KEY 与 BASE_URL 接口地址
- Docker 环境(本地 Docker 部署方式)或 Python >= 3.10(源码部署方式)
- 容器内服务监听 8080 端口,需映射到宿主机端口
安装与启动步骤
-
1准备 Telegram 令牌
在 Telegram 中向 @BotFather 申请机器人,拿到 BOT_TOKEN;同时准备好 OpenAI 兼容接口的 API_KEY 和 BASE_URL。
-
2Docker 启动容器
用预构建镜像拉起机器人,把容器 8080 端口映射到宿主机 80,并挂载 user_configs 目录持久化配置。
docker run -p 80:8080 --name chatbot -dit -e BOT_TOKEN=your_telegram_bot_token -e API_KEY=sk-xxxxxxxx -e BASE_URL=https://api.openai.com/v1 -v ./user_configs:/home/user_configs yym68686/chatgpt:latest -
3或用 Compose 部署
在目录下新建 docker-compose.yml,填入环境变量;CUSTOM_MODELS 可自定义模型分组,不填则用默认模型列表。
version: "3.5" services: chatgptbot: container_name: chatgptbot image: yym68686/chatgpt:latest environment: - BOT_TOKEN=your_telegram_bot_token - API_KEY=sk-xxxxxxxx - BASE_URL=https://api.openai.com/v1 - CUSTOM_MODELS=-all;GPT:gpt-5,gpt-3.5-turbo;Claude:claude-3-opus,claude-3-sonnet volumes: - ./user_configs:/home/user_configs ports: - 80:8080 -
4后台运行 Compose
先拉取最新镜像再后台启动服务,适合需要反复更新镜像的场景。
docker-compose pull docker-compose up -d -
5克隆源码仓库
源码方式部署的第一步,必须带 --recurse-submodules 拉取子模块,否则运行会缺依赖。
git clone --recurse-submodules --depth 1 -b main --quiet https://github.com/yym68686/ChatGPT-Telegram-Bot.git -
6安装依赖
进入仓库目录后安装 Python 依赖,需 Python 3.10 及以上版本。
pip install -r requirements.txt -
7配置环境变量
运行仓库自带脚本生成环境变量配置,按提示填入 BOT_TOKEN、API_KEY、BASE_URL。
./configure_env.sh -
8启动机器人
直接用 Python 运行主程序启动机器人,保持进程常驻即可在 Telegram 中对话。
python bot.py
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
BOT_TOKEN | 是 | Telegram 机器人令牌,由 @BotFather 生成 | your_telegram_bot_token |
API_KEY | 是 | OpenAI 兼容接口的密钥 | sk-xxxxxxxx |
BASE_URL | 是 | OpenAI 兼容 API 的基础地址 | https://api.openai.com/v1 |
WEB_HOOK | 否 | 公网回调地址,有域名时填,否则可留空 | https://your-domain/ |
CUSTOM_MODELS | 否 | 自定义模型分组,用分号分组、逗号分隔模型 | -all;GPT:gpt-5,gpt-3.5-turbo;Claude:claude-3-opus,claude-3-s |
如何确认成功
访问宿主机映射端口或云平台分配的域名能看到服务响应,并在 Telegram 中向自己的机器人发一条消息能收到回复。
常见问题
Q:WEB_HOOK 一定要设置吗?
A:不是必须。已有公网域名时填 https://your-domain/;没有则留空。部署在 Koyeb 上可以保持不变,平台会自动分配子域名。
Q:怎么部署到 Koyeb / Zeabur / Replit / fly.io?
A:可用预构建镜像一键部署,只填 BOT_TOKEN、API_KEY、BASE_URL;Koyeb 仓库方式需把运行命令设为 python3 bot.py、暴露端口设为 8080。
Q:Replit 上要注意什么?
A:运行命令设为 pip install -r requirements.txt > /dev/null && python3 bot.py,并在 Secrets 里配置环境变量,同时打开 Always On 保持常驻。
Q:能直接接 Anthropic、Gemini、Groq 等模型吗?
A:本机器人主要支持 OpenAI 兼容格式的 API,其他厂商模型建议通过作者的 uni-api 项目统一转换后再接入。
注意事项
- 只支持 OpenAI 格式接口;Anthropic、Gemini、Vertex AI、Azure、AWS、XAI、Cohere、Groq、Cloudflare、OpenRouter 等需先用 uni-api 集成。
- 源码部署要求 Python >= 3.10,克隆时漏掉 --recurse-submodules 会缺少子模块,运行报错。
- 容器内服务端口为 8080,本地映射示例为 80:8080,Koyeb/Replit 等平台请将暴露端口设为 8080。
- 挂载 ./user_configs:/home/user_configs 可持久化用户配置,删除容器不丢数据。
核心亮点
- 集成多款顶级 AI 模型(GPT-5、Gemini、Claude),用户无需切换应用
- 内置 Web 搜索,能获取实时信息,回答更准确
- 支持 DALL·E 图像生成,功能丰富
不足之处
- 依赖第三方云平台部署,免费额度有限,可能产生费用
- 文档/社区待观察
适用场景
- 个人或团队在 Telegram 中快速搭建多功能 AI 助手
- 需要同时使用多个 AI 模型进行对比测试的场景
- 在聊天中获取实时信息或生成图像的轻量应用
替代项目
aiogram、python-telegram-bot、LangChain
下一篇:ChatGPT
同类项目推荐
J.A.R.V.I.S
开源
语音一句话,搞定邮件、新闻、天气和网站,像钢铁侠一样指挥电脑。
Personal Assistant built using python libraries. It does almost anything which inclu···
alexa-gpt
开源
让 Alexa 接入 ChatGPT,一句话拥有智能对话能力
A tutorial on how to use ChatGPT in Alexa
conversation-tensorflow
开源
用 TensorFlow 快速训练 seq2seq 聊天机器人
TensorFlow implementation of Conversation Models
multimedia-gpt
开源
给 ChatGPT 加上眼睛和耳朵,直接看图说话、听音作答。
Empowering your ChatGPT with vision and audio inputs.
chatgpt-vue3-light-mvp
开源
用 Vue3 快速搭一个带流式输出的 Chat Bot 原型
一个可二次开发 Chat Bot 单轮对话 Web 端 MVP 原型模板, 基于 Vue 3, Vite8, TypeScript,···
ComposeAI
开源
一套 Kotlin 代码,搞定 Android 和 iOS 的 ChatGPT 应用
An Android & iOS application ChatGPT like made with Compose Multiplatform
rasa-chatbot-templates
开源
复制即用,快速搭建 RASA 对话机器人
RASA chatbot use case boilerplate
OpenCharacters
开源
一个 HTML 文件,搞定角色创建与聊天,链接即分享
Simple little web interface for creating characters and chatting with them. It's bas···
sepia-docs
开源
在树莓派上快速搭建你的私有语音助手
Documentation and Wiki for SEPIA. Please post your questions and bug-reports here in···