📖 简介
Telegram 转发器是一个强大的消息转发工具,只需要你的账号加入频道/群聊即可以将指定聊天中的消息转发到其他聊天,不需要bot进入对应的频道/群组即可监听。可用于信息流整合过滤,消息提醒,内容收藏等多种场景, 不受转发/复制禁止的限制。此外,利用 Apprise 强大的推送功能,你可以轻松将消息分发至聊天软件、邮件、短信、Webhooks、APIs 等各种平台。

✨ 特性

– 🔄 **多源转发**:支持从多个来源转发到指定目标
– 🔍 **关键词过滤**:支持白名单和黑名单模式
– 📝 **正则匹配**:支持正则表达式匹配目标文本
– 📋 **内容修改**:支持多种方式修改消息内容
– 🤖 **AI 处理**:支持使用各大厂商的AI接口
– 📹 **媒体过滤**:支持过滤指定类型的媒体文件
– 📰 **RSS订阅**:支持RSS订阅
– 📢 **多平台推送**:支持通过Apprise推送到多个平台

## 🚀 快速开始
### 1️⃣ 准备工作
1. 获取 Telegram API 凭据:
– 访问 https://my.telegram.org/apps
– 创建一个应用获取 `API_ID` 和 `API_HASH`
2. 获取机器人 Token:
– 与 @BotFather 对话创建机器人
– 获取机器人的 `BOT_TOKEN`
3. 获取用户 ID:
– 与 @userinfobot 对话获取你的 `USER_ID`
### 3️⃣ 启动服务
首次运行(需要验证):
“`bash
docker-compose run -it telegram-forwarder
“`
CTRL+C 退出容器
修改 docker-compose.yml 文件,修改 `stdin_open: false` 和 `tty: false`
后台运行:
“`bash
docker-compose up -d
“`
### 4️⃣ 更新
注意:docker-compose运行不需要拉取仓库源码,除非你打算自己build,否则只需要在项目目录执行以下命令即可更新。
“`bash
docker-compose down
“`
“`bash
docker-compose pull
“`
“`bash
docker-compose up -d
“`
## 📚 使用指南
### 🌟 基础使用示例
假设订阅了频道 “TG 新闻” (https://t.me/tgnews) 和 “TG 阅读” (https://t.me/tgread) ,但想过滤掉一些不感兴趣的内容:
1. 创建一个 Telegram 群组/频道(例如:”My TG Filter”)
2. 将机器人添加到群组/频道,并设置为管理员
3. 在**新创建**的群组/频道中发送命令:
“`bash
/bind https://t.me/tgnews 或者 /bind “TG 新闻”
/bind https://t.me/tgread 或者 /bind “TG 阅读”
“`
4. 设置消息处理模式:
“`bash
/settings
“`
选择要操作的对应频道的规则,根据喜好设置
详细设置说明请查看 [🛠️ 功能详解](#️-功能详解)
5. 添加屏蔽关键词:
“`bash
/add 广告 推广 ‘这是 广告’
“`
6. 如果发现转发的消息格式有问题(比如有多余的符号),可以使用正则表达式处理:
“`bash
/replace \*\*
“`
这会删除消息中的所有 `**` 符号
>注意:以上增删改查操作,只对第一个绑定的规则生效,示例里是TG 新闻。若想对TG 阅读进行操作,需要先使用`/settings(/s)`,选择TG 阅读,再点击”应用当前规则”,就可以对此进行增删改查操作了。也可以使用`/add_all(/aa)`,`/replace_all(/ra)`等指令同时对两条规则生效
这样,你就能收到经过过滤和格式化的频道消息了
### 🔧 特殊使用场景示例
#### 1. TG 频道的部分消息由于文字嵌入链接,点击会让你确认再跳转,例如 NodeSeek 的官方通知频道
频道的原始消息格式
“`markdown
[**贴子标题**](https://www.nodeseek.com/post-xxxx-1)
“`
可以对通知频道的转发规则 **依次** 使用以下指令:
“`plaintext
/replace \*\*
/replace \[(?:\[([^\]]+)\])?([^\]]+)\]\(([^)]+)\) [\1]\2\n(\3)
/replace \[\]\s*
“`
最终所有转发的消息都会变成以下格式,这样直接点击链接就无需确认跳转:
“`plaintext
贴子标题
(https://www.nodeseek.com/post-xxxx-1)
“`
#### 2. 监听用户消息格式不美观,可优化消息显示方式
**依次** 使用以下指令:
“`plaintext
/r ^(?=.) <blockquote>
/r (?<=.)(?=$) </blockquote>
“`
然后设置消息格式为 **HTML**,这样监听用户消息时,消息格式就会美观很多:
![示例图片](./images/user_spy.png)
#### 3. 同步规则操作
在 **设置菜单** 中开启 **”同步规则”**,并选择 **目标规则**,当前规则的所有操作将同步到选定的规则。
适用于以下场景:
– 不想在当前窗口处理规则
– 需要同时操作多个规则
如果当前规则仅用于同步而不需实际生效,可将 **”是否启用规则”** 设置为 **”否”**。
#### 4. 如何转发到收藏夹 (Saved Messages)
> 不推荐,操作比较繁琐
1. 在你的 bot 管理的任意群组或频道中发送以下命令:
“`bash
/bind https://t.me/tgnews 你的用户名(即展示的名称)
“`
2. 随意新建一个规则,并进行以下设置:
-**开启同步功能**,同步到 **转发收藏夹的规则**
-**转发模式** 选择 **”用户模式”**
-**禁用规则**(将规则”是否启用规则“设置为关闭)
这样,你就可以在其他规则中管理收藏夹的规则,所有操作都会同步到 **转发收藏夹** 规则中。
## 🛠️ 功能详解
### ⚡ 过滤流程
首先要清楚消息过滤顺序,括号里对应设置里的选项:
![img](./images/flow_chart.png)
### ⚙️ 设置说明
| 主设置界面 | AI设置界面 | 媒体设置界面 |
|———|——|——|
| ![img](./images/settings_main.png) | ![img](./images/settings_ai.png) | ![img](./images/settings_media.png) |
#### 主设置说明
以下对设置选项进行说明
| 设置选项 | 说明 |
|———|——|
| 应用当前规则 | 选择后,关键字指令(/add,/remove_keyword,/list_keyword等)和替换指令(/replace,/list_replace等)的增删改查导入导出将作用于当前规则 |
| 是否启用规则 | 选择后,当前规则将被启用,否则将被禁用 |
| 当前关键字添加模式 | 点击可切换黑/白名单模式,由于黑白名单是分开处理的,需要手动切换,注意,此时关键字的增删改查都和这里的模式有关,如果要使用指令对当前规则的白名单进行增删改查操作,请确保这里的模式是白名单 |
| 过滤关键字时是否附带发送者名称和ID | 启用后,过滤关键字时会包含发送者名称和ID信息(不会添加到实际消息中),可用于针对特定用户进行过滤 |
| 处理模式 | 可切换编辑/转发模式。编辑模式下会直接修改原消息;转发模式下会将处理后的消息转发到目标聊天。注意:编辑模式仅适用于你是管理员的且原消息是频道消息或群组中自己发送的消息 |
| 过滤模式 | 可切换仅黑名单/仅白名单/先黑后白/先白后黑模式。由于黑白名单分开存储,可根据需要选择不同的过滤方式 |
| 转发模式 | 可切换用户/机器人模式。用户模式下使用用户账号转发消息;机器人模式下使用机器人账号发送消息 |
| 替换模式 | 启用后将根据已设置的替换规则对消息进行处理 |
| 消息格式 | 可切换Markdown/HTML格式,在最终发送阶段生效,一般使用默认的Markdown即可 |
| 预览模式 | 可切换开启/关闭/跟随原消息。开启后会预览消息中的第一个链接,默认跟随原消息的预览状态 |
| 原始发送者/原始链接/发送时间 | 启用后会在消息发送时添加这些信息,默认关闭,可在”其他设置”菜单中设置自定义模板 |
| 延时处理 | 启用后会按设定的延迟时间重新获取原消息内容,再开始处理流程,适用于频繁修改消息的频道/群组,可在 config/delay_time.txt 中添加自定义延迟时间 |
| 删除原始消息 | 启用后会删除原消息,使用前请确认是否有删除权限 |
| 评论区直达按钮 | 启用后在转发后的消息下发添加评论区直达按钮,前提是原消息有评论区 |
| 同步到其他规则 | 启用后会同步当前规则的操作到其他规则,除了”是否启用规则”和”开启同步”其他设置都会同步 |
#### 媒体设置说明
| 设置选项 | 说明 |
|———|——|
| 媒体类型过滤 | 启用后会过滤掉非选中的媒体类型 |
| 选择的媒体类型 | 选择要**屏蔽**的媒体类型,注意:Telegram对媒体文件的分类是固定的,主要就是这几种,图片 (photo),文档 (document),视频 (video),音频 (audio),语音 (voice),其中所有不属于图片、视频、音频、语音的文件都会被归类为”文档”类型。比如病毒文件(.exe)、压缩包(.zip)、文本文件(.txt)等,在 Telegram 中都属于”文档”类型。 |
| 媒体大小过滤 | 启用后会过滤掉超过设置大小的媒体 |
| 媒体大小限制 | 设置媒体大小限制,单位:MB,可在 config/media_size.txt 中添加自定义大小 |
| 媒体大小超限时发送提醒 | 启用后媒体超限会发送提醒消息 |
| 媒体扩展名过滤 | 启用后会过滤掉选中的媒体扩展名 |
| 媒体扩展名过滤模式 | 切换黑/白名单模式 |
| 选择的媒体扩展名 | 选择要过滤的的媒体扩展名,可在 config/media_extensions.txt 中添加自定义扩展名 |
| 放行文本 | 开启后过滤媒体时不会屏蔽整条消息,而是单独转发文本 |
#### 其他设置说明
其他设置菜单中整合了常用的几个指令,使其可以在界面直接交互,包括:
– 复制规则
– 复制关键字
– 复制替换规则
– 清除关键字
– 清除替换规则
– 删除规则
其中清除关键字、清除替换规则、删除规则可以对其他规则生效
同时你可以在这里设置自定义模板,包括:用户信息模板、时间模板、原始链接模板
| 设置选项 | 说明 |
|———|——|
|反转黑名单| 启用后,将把黑名单当成白名单处理,若使用先白后黑模式,黑名单会作为第二重白名单处理|
|反转白名单| 启用后,将把白名单当成黑名单处理,若使用先白后黑模式,白名单会作为第二重黑名单处理|
结合“先 X 后 X”模式,可实现双层黑/白名单机制。例如,反转黑名单后,“先白后黑”中的黑名单将变为第二层级的白名单,适用于监听特定用户并筛选其特殊关键词等多种场景。
### 🤖 AI功能
项目内置了各大厂商的AI接口,可以帮你:
– 自动翻译外语内容
– 定时总结群组消息
– 智能过滤广告信息
– 自动为内容打标签
….
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。