飞机克隆机器人功能需求文档(2025 年 11 月 29 日)
本需求文档用于描述 Telegram 克隆机器人新增的 群组克隆功能 与 转发规则优化功能,目标是让机器人具备“完整复制群组结构、成员形象、聊天内容、聊天行为”的能力,并支持实时同步。
一、群组克隆功能(新增)
1.1 功能入口设计
在左侧菜单新增一个 「群组克隆」 功能模块,独立于原本的“频道克隆”,因为两者逻辑完全不同。
1.2 群组克隆与频道克隆的核心区别
频道(Channel)
- 只有管理员可发消息
- 用户看不到具体发布者
- 内容形式偏公告、通知
群组(Group)
- 多用户实时聊天
- 用户间有回复关系
- 消息来自不同用户身份
- 需要模拟多人参与对话
因此 群组克隆不能仅用单账号克隆,而是需要多个虚拟账号共同模拟原群组的聊天结构。
示例图片:
1.3 读取原群组数据(必要步骤)
为了完整克隆群组,需要执行以下操作:
系统需自动执行:
- 读取群组所有历史消息(从建群至今)
- 识别所有参与聊天的用户数量
- 排除已封号用户或无效账号(避免无法克隆)
- 生成“参与用户列表”,用于展示给脚本使用者
在克隆界面需展示类似下图的用户信息:
1.4 用户身份克隆规则
每个参与聊天的用户都需对应克隆:
- 头像(profile photo)
- 昵称(name)
- 用户简介(bio)
- 用户名(@username)
用户名规则(必须实现自动检测)
若用户原用户名为:
@gonzhonhao
机器人需要生成相同结构但不重复的用户名,如:
- @gonzhonhao1
- @gonzhonhao2
- @gonzhonhao3
逻辑:
- 自动检测 @username 是否可注册
- 不可用则在末尾递增数字
- 直到找到可用用户名
示例截图:
1.5 消息克隆规则(核心)
群组克隆后的消息必须:
保持 顺序完全一致
保持 回复关系不变(reply_to_message_id 映射)
每条消息由正确的克隆用户发送
支持文字、表情、图片、语音、视频、贴纸等多格式
目标是做到:
克隆后的群组聊天内容与原始群组完全一致,如同镜像复制。
1.6 群组实时同步(增量更新)
克隆完成后,机器人要持续监听原群组,处理两类更新:
(1)新消息同步
当原群组出现新消息时:
→ 机器人需立即将该消息同步到克隆群组
→ 并保持与原群组一致的发送者身份
(2)新用户加入
如果新用户加入原群组:
- 检查该用户是否已在克隆用户列表中
- 如果不存在:
→ 自动选一个尚未使用的账号进行克隆
→ 克隆其头像、简介、用户名(同 1.4 规则)
确保克隆群组的用户数量与原群组一致。
二、转发功能优化(用户反馈改善)
用户反馈示例:
用户担忧:
频道消息中常包含网址、联系方式、推广信息,机器人直接转发会变成帮对方免费宣传。
因此需要优化转发功能,让用户能自定义处理方式。
2.1 新增转发规则选项
系统需提供两种可选择模式:
模式一:自动移除所有链接(Link Removal)
当用户启用此模式:
- 转发时移除内容中的:
- http / https 链接
- Telegram 链接
- 邮箱地址
- 任何形式的 URL
示例:
原文:
加入我们的频道:https://example.com
转发变为:
加入我们的频道:
模式二:链接替换为用户自定义链接(Link Replace)
用户可设置一个自定义链接,例如:
https://mywebsite.com
当检测到消息内含任何链接,统一替换:
原文:
查看详情:https://othersite.com
自动替换为:
查看详情:https://mywebsite.com
2.2 扩展项(可选,建议加入)
为了让功能更加完善,可新增:
- 白名单链接(不被替换/删除)
- 正则表达式自定义替换规则
- 是否替换链接预览(Instant View)
- 是否去除消息中的 @username mentions







