基于Webhook的Telegram Bot部署问题求助(aiogram 3.0.0rc2)
部署aiogram 3.x Webhook Telegram Bot 问题解决方案
一、部署时的IP与端口配置
- 部署第三方平台时,无需手动指定固定IP,平台会自动分配公开访问域名,代码中
WEB_SERVER_HOST需设为0.0.0.0,让服务监听所有可用网络接口。 - 端口优先读取平台提供的环境变量(多数平台用
PORT变量),避免硬编码,代码修改示例:
import os WEB_SERVER_HOST = "0.0.0.0" WEB_SERVER_PORT = int(os.getenv("PORT", 8080)) # 8080为本地调试 fallback 端口
BASE_WEBHOOK_URL需设置为平台分配给你的应用公开域名(如https://your-app-name.onrender.com),建议通过环境变量配置,不要硬编码。
二、Render平台Python版本与aiogram 3.x兼容处理
Render支持Python 3.8及以上版本,若显示仅支持3.7,可通过以下步骤指定版本:
- 在项目根目录创建
runtime.txt文件,写入指定版本:
python-3.11.4
- 在
requirements.txt中明确依赖版本:
aiogram==3.0.0rc2 aiohttp>=3.8.0
- 平台会根据
runtime.txt自动安装对应Python版本,之后可正常安装aiogram 3.x。
三、Webhook模式部署通用注意事项
- 确保Telegram Bot的
WEBHOOK_PATH与代码中注册的路径完全一致,比如代码设为/webhook,则完整Webhook地址为BASE_WEBHOOK_URL/webhook。 - 部署前关闭本地ngrok服务,避免Telegram请求冲突。
- 部分平台需在控制台设置启动命令,比如Render中设置为:
python your_bot_main_file.py
内容的提问来源于stack exchange,提问作者TheFlappy
相关产品推荐
相关产品推荐

