reizhi / Telegram-Message-Clone

An automated script for cloning messages from one group to others.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Telegram-Message-Clone

一个自动克隆群消息到指定的群组(们)的 Python 脚本,且媒体组不会被打散

安装依赖

pip3 install pyrogram tgcrypto uvloop apscheduler

Windows 平台不支持 uvloop ,自行修改源码也许能运行

运行

python3 clone.py

后台运行需要使用 screen 或 nohup 等

设置变量

api_id api_hashhttps://my.telegram.org/ 获取

jobs 任务设置,格式为:{源群组一ID: [目标群组一ID, 目标群组二ID, 目标群组三ID], 源群组二ID: [目标群组一ID]}

示例:{-10055: [-10066, -10077]} ,即将 -10055 的消息自动复制到 -10066-10077

媒体组复制延迟

Telegram 对于媒体组的显示机制是逐条更新,所以接收者无法判断媒体组是否已经发完(除非达到10条的上限)。故程序采用以下逻辑判断:

1.接收到媒体组时先暂存不立即复制

2.如果新消息是媒体组并且与最后一条消息的媒体组 ID 不同,说明上一个媒体组已经发完,此时立即复制上一个媒体组

3.如果新消息是独立消息,说明上一个媒体组已经发完,此时立即复制上一个媒体组,并且立即复制本条消息

4.如果最后一条消息是媒体组,程序无法判断是否发完,故每5秒检查一次最后一条消息的时间。如果已经过去5秒,则大概率已经发完,立即复制暂存的媒体组

About

An automated script for cloning messages from one group to others.

License:GNU General Public License v3.0


Languages

Language:Python 100.0%