- CLI 参数处理 (--mode, --host, --port)
- Polling 和 Webhook 模式支持
- 日志配置
- 优雅关闭处理
- Telegram Application 初始化
- 处理器注册系统
- 支持 Polling 和 Webhook 模式
- 错误处理
/start命令 - 欢迎信息/help命令 - 帮助信息/ping命令 - 连接测试- 普通消息自动回复
- 错误处理
- 环境变量读取 (.env 文件)
- 配置验证
- 默认值设置
- RESTful API 端点设计
- Webhook 处理端点
- 系统健康检查端点
- Bot 信息查询端点
依赖包:
- fastapi >= 0.104.0
- uvicorn >= 0.24.0
- python-telegram-bot >= 20.3
- python-dotenv >= 1.0.0
- httpx >= 0.25.0
Python 版本: >= 3.11
TELEGRAM_BOT_TOKEN # 你的 Bot Token
WEBHOOK_URL # Webhook 地址 (可选)
DEBUG # 调试模式
LOG_LEVEL # 日志级别
HOST # 服务器主机
PORT # 服务器端口
- 基础镜像: python:3.11-slim
- 使用 uv 管理依赖
- 包含健康检查
- 支持环境变量注入
- 自动构建和运行
- 环境变量管理
- 端口映射
- 重启策略
- 功能介绍
- 安装说明
- 使用指南
- 故障排查
- 5 分钟快速开始
- 获取 Bot Token 步骤
- 常见问题解答
- 项目结构详解
- 各模块功能说明
- 8 个实用示例
- 部署指南
- 常见代码模式
- Python 缓存文件
- 虚拟环境
- IDE 配置
- 环境变量文件
- 配置示例
- 说明文档参考
- ✅ 接收文本消息
- ✅ 命令处理 (/start, /help, /ping)
- ✅ 自动消息回复
- ✅ 用户交互
- ✅ 错误处理和日志记录
- ✅ Polling 模式 (轮询) - 开发环境推荐
- ✅ Webhook 模式 - 生产环境推荐
- ✅ 支持命令行参数配置
- ✅ GET /health - 健康检查
- ✅ GET /info - Bot 信息
- ✅ GET /status - 运行状态
- ✅ POST /webhook - 消息接收
- ✅ 使用 uv 包管理器
- ✅ Python 3.11+ 支持
- ✅ Docker 支持
- ✅ 开发和生产配置分离
cd telegram-demouv sync获取 Token:
- Telegram 中搜索 @BotFather
- 发送 /newbot 命令
- 复制 Token 到 .env 文件
编辑 .env:
TELEGRAM_BOT_TOKEN=your_token_here开发模式 (Polling):
uv run python -m app.main生产模式 (Webhook):
uv run python -m app.main --mode webhook在 Telegram 中向你的 Bot 发送:
/start- 获取欢迎信息/help- 获取帮助/ping- 测试连接- 任何消息 - 获得自动回复
telegram-demo/
├── app/ # 应用包目录
│ ├── __init__.py # 包初始化
│ ├── main.py # 应用入口 (CLI + 启动逻辑)
│ ├── bot.py # Bot 核心 (Application + 处理器)
│ ├── handlers.py # 消息处理器 (命令 + 回复逻辑)
│ ├── config.py # 配置管理 (环境变量)
│ └── api.py # FastAPI 应用 (REST API + Webhook)
├── pyproject.toml # UV 项目配置和依赖
├── Dockerfile # Docker 镜像定义
├── docker-compose.yml # Docker Compose 编排
├── .env # 本地环境变量 (需要配置)
├── .env.example # 环境变量模板
├── .gitignore # Git 忽略规则
├── README.md # 完整项目文档
├── QUICKSTART.md # 快速开始指南
├── EXAMPLES.md # 使用示例和代码模式
└── PROJECT_SUMMARY.md # 本文件
| 技术 | 版本 | 用途 |
|---|---|---|
| Python | 3.11+ | 编程语言 |
| uv | 最新 | 包管理器 |
| FastAPI | 0.104+ | Web 框架 |
| python-telegram-bot | 20.3+ | Telegram Bot 库 |
| uvicorn | 0.24+ | ASGI 服务器 |
| python-dotenv | 1.0+ | 环境变量管理 |
项目设计便于扩展:
- 在
app/handlers.py中创建处理函数 - 在
app/bot.py中注册处理器
- 在
pyproject.toml中添加数据库驱动 - 在处理器中集成数据库操作
- 使用
httpx进行 HTTP 请求 - 在处理器中调用外部 API
- 在
app/api.py中定义新端点 - 在处理函数中实现业务逻辑
- Async/Await - 高效的异步消息处理
- Connection Pooling - HTTP 连接复用
- 无阻塞操作 - 所有 I/O 操作都是异步的
- 模块化设计 - 易于扩展和维护
- ✅ 环境变量安全管理
- ✅ Token 不暴露在代码中
- ✅ 错误消息安全处理
- ✅ 日志记录关键信息
可以进一步扩展的功能:
- 数据库集成 (SQLite, PostgreSQL)
- 用户认证和授权
- 消息队列 (Celery, RabbitMQ)
- 监控和告警 (Prometheus, Grafana)
- API 文档生成 (Swagger UI)
- 单元测试和集成测试
- CI/CD 流程 (GitHub Actions)
- 性能监控和日志聚合
你现在拥有一个完整的、可生产就绪的 Telegram Bot 应用框架,基于:
- 现代的 Python 包管理 (uv)
- 高性能的 Web 框架 (FastAPI)
- 功能完整的 Bot 库 (python-telegram-bot)
- 支持多种部署模式 (Polling, Webhook, Docker)
- 清晰的代码结构和文档
开始开发你的 Bot 吧!🚀