利用Render实现Telegram群文件监听和自动转发到非群成员

在日常运营或团队协作中,常会遇到这样的需求:当群成员 A 在 Telegram 群组中发送 Excel 或 TXT 文件时,Telegram机器人自动将该文件转发给非成员 B 和 C,并由自动回复一句“收到”确认。

这个需求如果手动处理显然效率低下,于是我基于 python-telegram-bot 和 Render 平台,构建了一个自动监听并转发的 Bot 工具。

🛠 技术选型

技术 用途
Render.com 无服务器部署平台,方便托管 Python 项目
python-telegram-bot==20.6 Telegram Bot 开发框架
Python 3.10+ 项目主语言
Webhook 模式 实时监听 Telegram 消息
Telegram Bot 用于与 Telegram API 通信

🧩 功能设计

🎯 功能点

  1. 监听指定群组中成员A的发言,如果A发送了包含excel文件的会话就转发给非群成员B和C
  2. 判断文件类型
    • 只处理 .xls, .xlsx, .txt 文件
  3. 转发至指定用户(B 和 C)
  4. 自动回复“收到”

👥 示例角色

角色 描述
A 群组发文件的人
B 接收人
C 另一位接收人
Bot 自动化处理器

🚀 部署流程(Render)

1. 建立机器人

在telegram 里找@BotFather建立一个机器人,然后利用@XiaoGuiDangJia_ID_BOT 找到A、B、C  的telegram ID

把机器人拉进群里,给予管理员权限。

2. 创建 GitHub 仓库。

可以folk我的仓库 https://github.com/clicocc/telegrambot/

3. 在 Render 创建 Web Service

注册个Render账号,选择免费版本就够用了。

  1. 新建 Render Web Service
  2. 连接你的 GitHub 仓库或者直接上传代码包
  3. Build Command 填写:pip install -r requirements.txt
  4. Start Command 填写:python bot.py

4. 添加环境变量(如 BOT_TOKEN)

添加环境变量

  1. 登录 Render 控制台
  2. 进入你的服务页面
  3. 找到 Environment(环境变量)设置
  4. 修改或新增你想改的变量(比如 WEBHOOK_URL)

WEBHOOK_URL这个地址先顺便填写个,后面拿到正确的地址,再去改即可。

变量名 说明 示例
BOT_TOKEN 你的 Telegram Bot Token 123456789:ABCdefGhIjKlMnOp
A_ID A 的 Telegram 用户 ID (整数) 123456789
B_ID B 的 Telegram 用户 ID (整数) 987654321
PYTHON_VERSION 强制 Render 使用 Python 3.10 或 3.11,因为 python-telegram-bot==20.6 不兼容 Python 3.13 3.10.13
C_ID C 的 Telegram 用户 ID (整数) 135792468
WEBHOOK_URL 你的项目公网 HTTPS 地址,机器人的 webhook 地址 https://telegrambot-mk75.onrender.com

5. 设置 Telegram Webhook

手动调用 API 设定 webhook,示例(替换成你的 BOT_TOKEN 和 WEBHOOK_URL):

https://api.telegram.org/bot/setWebhook?url=

例如我的 https://api.telegram.org/bot7059385486:AAGdXFUQ3HymKW2ectEuTYojqu06aoSZ6Eg/setWebhook?url=https://telegrambot-mh78.onrender.com

把上面的webhook地址复制到浏览器中打开。 如果提示{“ok”:true,”result”:true,”description”:”Webhook is already set”} 那么说明设置正确。

6. 服务重启

新的环境变量会生效,程序启动时能读取最新的配置
服务重启
自动构建 & 部署成功

效果展示

A在群发送 Excel → Bot 检测 → 转发给B+C → 机器人自动回复“收到”

🧩 项目亮点

✅ 零服务器成本(Render 免费部署)
✅ 实时响应,基于 Webhook
✅ 精准匹配特定用户 + 文件类型
✅ 群组消息+私聊同时自动操作

🧱 后续优化点

  1. 支持多种文件类型
  2. 接收人可配置(读取 JSON 或数据库)
  3. 转发时添加备注或来源标识
  4. 增加日志记录和异常处理

📘 总结

通过这个小项目,我实现了 Telegram 群文件消息的自动监听和转发功能,大幅提升了工作效率。未来我还打算集成更多实用功能,比如 OCR 识别、关键词检测、自动归档等等。

如你也有类似需求,不妨 Fork 一下这个项目,动手试试看!

原文链接:https://jiemahao.com/telegram-file-forwarding-bot-with-render/,转载请注明出处。
0

评论0

请先
显示验证码