AI summary
Xposed module that automates daily check-ins for Telegram bots by replaying button taps or text commands on schedule. Learns from a single manual tap, runs entirely on-device with no server or credentials, and supports multiple accounts and clients. Version 1.6.
Generated by AI. May contain inaccuracies.
Screenshots
About this app
TGAutoSign
中文 · English
Tap once. Signed every day.
Tap the bot's check-in button in Telegram once — then never think about it again. The control panel lives inside Telegram: send /jmb in any chat.
🔐 Local by design No account credentials, no official API, no data leaving your device.
The only outbound call is an update check every 12 hours — it can be disabled, and it carries no sign-in data Targets and signed-state live in Telegram's local storage; they never leave the device The module requests no storage, notification or install permissions; all automation happens on-device, with no relay server
Tap once. Signed every day.
Tap the bot's check-in button in Telegram once — then never think about it again. The control panel lives inside Telegram: send /jmb in any chat.
Latest Release Downloads API License Telegram Group
⬇️ Download the latest APK · Source repo
Download only from these two sources. For repacked builds elsewhere, compare the fingerprint below.
by wlmosv · if it's useful, star the source repo ⭐
🔐 Local by design
No account credentials, no official API, no data leaving your device.
The only outbound call is an update check every 12 hours — it can be disabled, and it carries no sign-in data Targets and signed-state live in Telegram's local storage; they never leave the device The module requests no storage, notification or install permissions; all automation happens on-device, with no relay server Verify the build
📱 Screenshots English UI — built in on English devices, no setup required
Main panel Main menu Main panel Main menu Targets Settings Targets Settings
✨ What it does
Tap once, it learns — tap the bot's check-in button once and it replays daily, automatically. It keeps up even when the button's callback data changes. Text commands too — set a bot ID plus a command (e.g. /checkin) and it sends on schedule. Group & channel check-ins — group IDs are supported; replies are read from group messages. Your schedule — signing window · per-target random slots · minimum spacing · make-up deadline (23:00 by default) · pause a target for a week. Rate-limit friendly — on failure it backs off 5m → 15m → 45m → 2h → 4h, waits out FLOOD_WAIT exactly as the server asks, and catches up when the network returns. Block what you don't want — keyword / regex rules (matched against bot replies and button labels) · block a whole bot · freeze a single target. Network-learned hits wait for your confirmation. Multi-account, fully isolated — targets and signed-state are kept per account; targets can be copied across accounts. Daily summary — one message a day to your own Saved Messages (no system notifications); an extra alert after 3 consecutive failing days. Cross-client sync — the official client and third-party clients share targets and signed state. Bilingual UI — English out of the box on English devices; switchable in Settings. Local by design — no server, no telemetry; the update check is the only outbound call and can be disabled.
🖥️ Supported clients
The module matches by host package first, then falls back to flag-class capability — it only injects on a match.
Requires root + LSPosed (libxposed API 102 or newer — see LSPosed Manager → Settings → About). Not supported: non-root devices, Telegram X, standalone server deployment.
Client Package Status
Telegram (Play / default) org.telegram.messenger ✅ tested on 12.10.4 Telegram (direct APK) org.telegram.messenger.web ✅ statically verified Nagram (NextAlone) xyz.nextalone.nagram ✅ tested on 12.10.3 Nagram XF fork.risin42.nagramx ✅ tested (dec46b0) ExteraLess (ExteraGram fork) com.exteraless.app ✅ tested on 12.10.1 Nekogram tw.nekomimi.nekogram ✅ tested on 12.10.3 Mercurygram it.belloworld.mercurygram ✅ tested on 12.10.3.1 Nagram / NagramX / NagramNX nu.gpu.nagram etc. whitelisted, not tested Other Telegram-Android forks any injects if flag classes are intact Telegram X — ❌ not injected (different core) Adapted for the whole Telegram 12.10.x line, including 12.10.4.
⚠️ Scope: LSPosed only enables the official client by default. If you use a third-party client, tick that client in the module's scope as well.
🚀 30-second setup
Install the APK → LSPosed → Modules → enable TGAutoSign Tick your Telegram client under Scope Fully stop Telegram, then reopen it Send /jmb in any chat → go to the bot chat and tap its check-in button once Done — it signs daily from then on. Send /jmb anytime to check status or change settings.
❓ FAQ Tapped the button but nothing was added
Check the auto-learn switch under Settings → Learning, or add the target manually via /jmb → Add target. If it still won't add, make sure the scope is ticked and fully restart Telegram.
The bot uses buttons instead of text — does that work?
Yes. Tapping once teaches it (the list shows a type badge) and it replays daily. Buttons that merely open a web page or a game (no callback data) are never mis-learned.
It works on the official client but not my third-party one
Those clients are supported (see the matrix above), but scope only includes the official client by default. Tick your client in LSPosed, then fully restart Telegram.
Signing isn't working — what do I do?
Run /jmb → Self-check to verify the reflection anchors, then check the built-in log view for injection and signing records. Still stuck? Export the log together with your client name and version, and open an issue.
How do I migrate to a new phone or account?
On the old device: /jmb → Export. On the new one, drop the json into Android/data/<client package>/files/tgautosign/ and import it. Import merges — it never wipes.
Update says "signature mismatch"
You installed a debug build. Uninstall it, then install the official APK from this page. Official builds upgrade over each other in place, and your data is kept.
⚖️ License
Licensed under GPLv3. For personal use with your own accounts. Please respect Telegram's Terms of Service and each group's / bot's rules.
What's new
- 一半在修不报错的毛病,一半在把界面收拾干净。
- 这版在修什么 有三类问题最麻烦 —— 它们不报错,你只是隐约觉得哪里不对。
- 「手动加机器人点了没反应」就是其中之一:不是没反应, 是它被一道只该管"自动学习"的闸门拦下来了,而且悄无声息。
- 「取不到会话数据、要先去发一句话」也是同类 —— 最后那层兜底从来没有真正工作过,平时感觉不到,进程被回收时才露出来。
- 界面这边则是攒了一阵子的:日志框比目标列表矮一半、切过去还闪一下、 群目标显示成一串数字。
- 签到 手动填机器人 ID 点「添加并签到」没反应 你亲手填的指令本来该直接加进去,但模块把它当成"自动学来的按钮"过了一道确认闸。 指令只要不像签到词(比如 /qd、自定义口令)就被拦下,而且没有任何提示。 现在手填的一律直接添加,真失败了也会明确告诉你原因。
- 「取不到会话数据,去发一句话才行」 最后一层兜底调的方法,在被调用的类上根本不存在 —— 从写下那天起就没成功过。 平时内存里有缓存所以感觉不到,一旦进程被系统回收(凌晨最常见),就只能报这句话。 现在这层兜底真的能用了。
- 同一个群里挂第二个签到目标,会把第一个覆盖掉 群目标的编号以前是写死的,同群第二个直接顶掉第一个, 第一个的签到记录还会变成没人管的残留。
- 同一个群,少写一段 ID 加过一次,就变成两个目标 这种重复现在会在目标列表里标记出来(重复?),一眼能看见。
- 同一个群里两个目标,回复永远判不出 以前多个候选时干脆不判、也不缩小范围,于是永远卡住。 现在如果其中一个明显是刚发的,就认它。
- 界面 群目标终于显示群名了 「今日计划」里以前只显示一串数字,现在显示群名, 并带「群 / 机器人」「回调 / 指令」小标记,一眼分清是什么。
- 日志框比目标列表矮一半,没日志时更矮 高度以前按屏高写死,且内容少还会再缩。现在和列表一样高,空日志也一样。
- 切到日志页会闪一下 —— 高度先给一次、之后又改三次,中间那一下就是闪
- 日志的「易懂 / 详细」记不住 —— 以前只改内存,重开就回到默认档
- 新增 添加目标改成两步 —— 先选「在哪里签」,再选「它要什么」, 每项都带真实例子。以前三步混在一起,「群 + 点按钮」这种组合没地方放。
- 数据里多了「签到统计」 —— 累计天数、连续、近 7 天 / 近 30 天, 以及今天的结果分布(已签 / 失败 / 判不出 / 没回复 / 按钮失效 / 待签), 还会列出"哪些目标判不出来、为什么",直接告诉你该去补哪条判定词。
- 数据里多了「清空日志」和「数据清理」 数据清理能手动触发一次残留状态清理 —— 那些残留会让重新添加的目标一加就显示已签。
- 目标管理按用途分组,删除单独隔开 「签全部账号」是会立即往外发消息的动作,不再和改配置的按钮混在一起; 「删除目标」用红色描边并写明不可撤销,不再和「添加」长得一样。
- 8 套配色,点了当场生效
- 签到成功后的动效 —— 回调按钮是闪电脉冲,文本指令是进度环; 状态条会呼吸,列表是依次落入而不是整片刷出来
About this version
- Version
- 1.6.5 (131)
- Size
- 789.02 KB
- Requires Android
- 8.0
- Target SDK
- 26
- Architecture
- universal
- Downloads
- 9
- Updated
- Oct 10, 2026
- Package
- io.github.wlmosv_png.tgautosign
Similar apps
Ratings & reviews
- 50
- 40
- 30
- 20
- 10