Telegram 消息净化模块(LSPosed 模块,基于 libxposed API 101):关键词/正则规则集过滤 + 每频道表情反应(reaction)白/黑名单过滤,配合"深挖检索"在大型资源频道里快速定位高价值消息,并自动移除 Telegram 官方赞助消息。
- 规则集过滤 — 创建可复用的关键词/正则规则集,一个规则集可勾选应用到任意多个频道;频道打开后自动发现进 App,无需手动填 ID
- 每频道表情过滤 — 在 Telegram 频道菜单(⚡表情过滤)里直接为当前频道配置:
- 白名单模式:只显示达标消息,如
❤️ ≥ 10 且 👎 ≤ 20——资源频道快速捞高价值内容 - 黑名单模式:达标即隐藏,如点踩数超阈值就藏掉
- 支持双表情双阈值,标准 emoji 快速选择行(自定义表情 reaction 无法按字符匹配)
- 白名单模式:只显示达标消息,如
- 深挖检索 — 高阈值筛选后整页被滤空时,模块自动向前翻找更早历史(TG 原生此时已无法滚动加载),页面底部悬浮徽标实时显示"已筛约 N/深度 · 达标 M 条",到底/耗尽会 Toast 告知而不是沉默"暂无消息"
- 检索深度两级可配 — App 设置页配全局默认(默认 500 条);TG 内 ⚡弹窗可为单个频道覆盖(500/1000/2000/5000/1万,或自定义输入,上限 10 万)
- 赞助消息移除 — 拦截官方 sponsored messages
- 过滤不删消息 — 仅在消息进入聊天界面前剔除,TG 自身数据不受影响;重进频道可恢复
- 热更新 — 规则保存后框架实时推送进 Telegram 进程,无需重启 TG(已在屏的消息需重新进入频道生效)
- Android 9+(API 28+)
- LSPosed 需支持 libxposed API 101:上游 LSPosed stable 1.9.2 不支持(仅实现旧版注解 API),请使用实现了新 API 的分支(如 LSPosed_mod / JingMatrix 分支等)
- 官方 Telegram(
org.telegram.messenger)。TG 分叉(Plus/Neko 等)不在作用域,不受影响
- 从 Releases 下载
TGClean-vX.Y.Z.apk(原始 APK,直接安装) - 安装后打开 LSPosed → 模块,启用 TGClean
- 勾选作用域:Telegram(仅官方包名)
- 强制停止 Telegram(或重启手机)后重新打开
- 打开一次 TGClean App:显示设置页即服务连通正常;若一直停在"正在连接 LSPosed 服务",按页面超时提示逐项检查
- TGClean App →「📦 规则集」→ 新建规则集(如"广告过滤")
- 进入规则集详情:添加关键词(可开正则)、勾选要应用的频道
- 频道列表来自"自动发现"——在 Telegram 里打开过的频道会自动出现;也可以在主页频道列表点任意频道,弹窗勾选它属于哪些规则集
- 全部改动即时生效(无需保存按钮;remote prefs 实时推送)
- 进入目标频道 → 右上菜单 → ⚡ 表情过滤
- 选择模式(白/黑名单)→ 快速选择目标表情 → 输入阈值 →(白名单可再加负面表情上限)→ 选择本频道检索深度(预设 500/1000/2000/5000/1万、"自定义…"输入任意值,或跟随全局默认)
- 保存:正常 1 秒内提示"规则已保存";MIUI 等强管控 ROM 下会自动走透明页兜底写入,极端情况按提示打开一次 TGClean App 重试
- 重新进入频道生效——已在屏的消息不会追溯过滤
- 菜单项标题实时反映当前规则(如
⚡ 表情过滤:❤️≥10·只显)
App 设置页「调试日志」开关(默认关)。开启后 LSPosed 日志输出逐条过滤明细(含消息内容预览),用于排障;日常使用建议关闭以保护隐私。
- 自定义表情 reaction(付费/频道自定义)以 document_id 存在,无法按 emoji 字符匹配
- 过滤从进入频道时刻开始,不追溯已在屏消息;重进频道生效
- 关键词/正则基于消息文本;无文本的纯媒体消息不参与关键词匹配
- 检索深度有上限(自定义最大 10 万条/频道),避免在超大频道无止境搜索;深度即单次进入频道内自动翻找的消息数预算
- 签名用 keystore 随仓库公开(个人项目取舍,便于 CI 与覆盖安装);仅从本仓库 Release 或自行构建安装,不要安装来路不明的"同签名"包
./gradlew assembleRelease
产物:app/build/outputs/apk/release/app-release.apk(R8 混淆 + 仓库 keystore 签名;密码可用环境变量 TGCLEAN_KS_PASS 覆盖,见 app/build.gradle.kts)。
- 正式版 APK:从 Releases 下载(
TGClean-v*.apk,tag 推送自动构建直传) - 测试版 APK:从 Actions 里测试分支 PR 的构建产物获取(
TGClean-debug/TGClean-release);开发流程为测试分支验证通过后才合并发布
MIT