本脚本可在 Telegram 的收藏夹(已保存消息)、任意群组或频道之间按时间顺序转发消息,支持断点续传与限流控制,并可选择顺序或倒序转发。
- Python 3.8+
- 安装依赖:
pip install telethon pysocks
- 打开 https://my.telegram.org 使用你的账号登录。
- 进入 “API Development Tools”,创建应用后获得
api_id与api_hash。
将以下示例保存为项目根目录的 config.json 并按需修改:
{
"api_id": 123456,
"api_hash": "0123456789abcdef0123456789abcdef",
"phone_number": "+86你的手机号",
"source_peer": "me",
"target_peer": "@target_group_or_channel",
"forward_oldest_first": true,
"resume_enabled": true,
"session_file": "session_name",
"send_interval_seconds": 1.0,
"loop_delay_seconds": 0.2,
"proxy": { "enabled": false, "protocol": "socks5", "address": "127.0.0.1", "port": 7890 }
}
小贴士:
source_peer与target_peer支持"me"(收藏夹)、群组/频道用户名、邀请链接或带符号的数值 ID(如-100xxxx)。forward_oldest_first控制转发顺序(true:最旧→最新,false:最新→最旧)。如未配置,默认为顺序转发。resume_enabled控制是否启用断点续传,关闭后每次都会从配置的起点重新转发。send_interval_seconds可在频控场景下调大(建议 2~5 秒)。
- 基础运行:
python forward_saved_to_group.py - 首次运行需按照提示完成手机号验证码与二次验证登录。
- 程序会按选择的顺序从来源对话转发到目标对话,直至抵达末尾或达到限制条件。
- 指定起始 ID:
python forward_saved_to_group.py --start-from 5000 - 限定条数:
python forward_saved_to_group.py --limit 20(传入0表示转发全部) - 模拟运行:
python forward_saved_to_group.py --dry-run - 自定义配置:
python forward_saved_to_group.py --config config.prod.json
state.json会按来源对话分别记录last_id与wait_until,支持断点续传。- 命中 Telegram 频控时会自动等待;如需重置,可删除对应来源的状态条目。
- 日志提示等待 N 秒:说明触发频控,等待结束后自动继续。
- 目标对话未收到消息:确认配置正确且账号已加入目标并拥有发言权限。
- 中文显示异常:Windows 终端可执行
chcp 65001或设置PYTHONIOENCODING=utf-8。
forward_saved_to_group.py:核心脚本。config.example.json:配置示例。config.json:你的实际配置。state.json:断点信息与限流等待时间。gui_forwarder.py:图形界面启动器,便于快速配置与观察日志。
- 运行
python gui_forwarder.py打开桌面窗口。 - GUI 支持在界面填写 API ID、API Hash、手机号、Session 名称及代理等参数,点击“保存配置”即可生成 JSON 配置文件。
- “启用断点续传”开关可直接控制是否沿用
state.json中的断点。 - 来源/目标下拉框提供“收藏夹 / 已保存消息”与“自定义输入”两种模式;自定义时可填写用户名、链接或数值 ID,实现收藏夹 ↔ 群组 ↔ 频道的任意组合。
- “转发顺序”下拉框可选择顺序转发(最旧→最新)或倒序转发(最新→最旧)。
- “转发条数”支持输入 0 表示全部,或指定正整数实现限量发送。
- 可填写起始消息 ID 并勾选“仅模拟运行”,点击“开始转发”即可执行。
- “发送停止指令”会发出安全停止请求,任务会在当前批次处理完成后优雅退出。
- 下方日志窗口实时滚动输出运行信息,便于排查问题。
如需更复杂的调度(多来源、多目标策略等),可在此基础上扩展或编排多个任务脚本。
- 2025-09-22:GUI 支持填写并保存配置文件,新增顺序/倒序转发、断点续传开关与条数控制。
- 2025-09-21:核心脚本支持收藏夹、群组、频道互转,引入
forward_oldest_first与“0 条数等于全部”的处理逻辑。 - 2025-09-20:发布首个版本,提供从收藏夹到群组的断点续传转发。