Telegram 群主题 + 企业微信双向转发

Feb 14, 2026 | 9 min

一句话介绍

很久之前就做,不过那时侯只有文本处理。年底有时间刚好把项目同步上来。

这套 tgpmbot(仓库:https://github.com/kroyoo/Telegram-GroupTopic-Wechat)的核心能力是:把 Telegram 私聊消息自动分流到群组里对应的话题(Topic),并且在开启企业微信配置后,同步转发到企业微信应用;你可以直接在企业微信里回复,再路由回原 Telegram 用户的话题上下文。

示例: @FungitPMBot

解决的问题

  • 多用户私聊机器人时,消息会混在一起,不方便管理。
  • Telegram 消息接收不及时,消息同步到微信。
  • 需要“可回”的链路,而不仅是单向通知。

这个项目把三件事一起做了:

  1. Telegram 私聊按用户映射到群组 Topic。
  2. 可选同步到企业微信应用(文本/图片/语音等)。
  3. 企业微信回复可回流到 Telegram 对应用户上下文。

功能总览(基于最新 README)

  • 私聊 -> 群组 Topic 转发。
  • Topic -> 私聊反向转发。
  • 双向 reply 映射(保持回复关系)。
  • 企业微信集成(可选):文本、图片、语音桥接。
  • 企业微信回复路由:
    • 显式路由:#TGROUTE:<id>id:<id>
    • 上下文路由:基于微信发送者上下文,不必每次带 id
  • 自动同步用户管理(owner 命令):
    • /wx_add <tg_user_id>
    • /wx_del <tg_user_id>
    • /wx_list
  • 安全防护:
    • TG -> WeCom 敏感词拦截与违规拉黑
    • Telegram 私聊防刷(10 秒 8 条,超限临时静默)

部署前准备

  1. 一个 Telegram Bot Token。
  2. 一个开启了 Forum Topic 的 Telegram 群组,拿到 group_id-100...)。
  3. Python 3 环境与依赖安装能力。
  4. 建议安装 ffmpeg(语音转码更完整)。
  5. 若要用企业微信应用,提前准备:
    • corpidcorpsecretagentid
    • 回调 token、EncodingAESKey、receive_id
    • 可被企业微信访问到的回调地址

最小可用启动(只启 Telegram Topic 转发)

pip install -r requirements.txt
python main.py -token "<BOT_TOKEN>" -group_id "-100xxxxxxxxxx"

可选参数(数据库路径):

python main.py -token "<BOT_TOKEN>" -group_id "-100xxxxxxxxxx" -db_path "./data/forwarder.db"

开启企业微信双向联动

完整参数示例:

python main.py \
  -token "<BOT_TOKEN>" \
  -group_id "-100xxxxxxxxxx" \
  -owner_tg_id "123456789" \
  -wecom_enabled \
  -wecom_corpid "wwxxxx" \
  -wecom_corpsecret "xxxx" \
  -wecom_agentid "1000002" \
  -wecom_touser "@all" \
  -wecom_token "xxxx" \
  -wecom_encoding_aes_key "43charsEncodingAESKey" \
  -wecom_receive_id "wwxxxx" \
  -wecom_callback_host "0.0.0.0" \
  -wecom_callback_port 58090 \
  -wecom_callback_path "/wecom/callback"

企业微信应用回调 URL 配置为:

http://<your-host>:58090/wecom/callback

如果你的网络环境需要代理,也可以配置 -proxy-get_updates_proxy-wecom_proxy

微信里怎么“回到对应 Telegram 用户”

有两种方式:

  1. 显式指定路由(最直接) 在企业微信里发:#TGROUTE:<tg_user_id> 你的消息

  2. 绑定上下文后直接回复(日常更方便) 在企业微信里使用:

    • /list 查看可绑定的 TG 用户
    • /bind <tg_user_id> 绑定当前微信发送者上下文
    • /status 查看当前绑定状态
    • /unbind 解绑

绑定后,在有效期(默认 1800 秒)内可直接回复文本,不用每条带 id。

自动同步到企业微信(关键点)

默认情况下,私聊消息会转发到 Telegram 群 Topic。
当某个用户被 owner 执行 /wx_add <tg_user_id> 后,该用户消息也会自动同步到企业微信:

  • text -> WeCom text
  • photo -> WeCom image
  • voice -> 优先转码后发语音,失败回退文件
  • video/document -> 按能力发送,必要时回退文件

这适合“重点用户”或“值班用户”场景,避免全量消息都进企业微信造成噪音。

管理命令速查

Telegram 侧:

  • /start:帮助
  • /call <text>:私聊手动发企业微信
  • /ball <text>/call 兼容别名
  • /wx_add <tg_user_id>:开启自动同步
  • /wx_del <tg_user_id>:关闭自动同步
  • /wx_list:查看自动同步列表

企业微信侧:

  • /status
  • /list
  • /bind <tg_user_id>
  • /unbind

安全与风控(实战里很重要)

  • 敏感内容拦截只作用于 TG -> WeCom 转发链路。
  • 防刷针对 Telegram 私聊入口,超过阈值会临时静默,重复违规会拉黑。
  • -owner_tg_id 建议务必配置,便于命令权限控制与白名单豁免。

小结

如果你的目标是“一个机器人同时承接 Telegram 私聊客服 + 群 Topic 管理 + 企业微信协同回复”,这个项目基本是开箱可用的方案。
核心价值不只是转发,而是把“路由、上下文、回复链路、安全策略”一起补齐,实现跨平台沟通。

Comments

Email is only used for reply notifications and is never shown publicly.