8 Commits
Author SHA1 Message Date
tiennm99 b9e038d718 docs(journal): record Redis CSV export 2026-07-25 11:25:17 +07:00
tiennm99 bd940799ca refactor: simplify project, no behavior change
- requirements.txt: drop pinned transitive deps (pyaes, pyasn1, rsa)
- .gitignore: trim from 166 to 19 lines (drop unused template cruft)
- crawl.py: remove no-op client.start(phone) after explicit sign-in
- common.py: inline single-use latest_two_group_exports into compare.py;
  simplify _member_index
- compare.py: use list_group_exports + slice; add lazy-import comment
- configure.py: add lazy-import comment
- config.py: lowercase error messages to match the rest of the project
2026-06-10 11:30:19 +07:00
tiennm99 9f867b342e feat(redis): rename run export keys to group 2026-06-10 09:58:03 +07:00
tiennm99 c24b1a9770 feat(redis): store runs by group then time 2026-06-10 09:47:23 +07:00
tiennm99 4f565728da feat: store telegram config in redis 2026-06-09 16:54:01 +07:00
tiennm99 fb9384d965 feat: add crawl comparison command 2026-06-09 14:10:05 +07:00
tiennm99 f03099a18e feat: store session and exports in redis for cross-device portability
Replace the device-bound Telethon .session file and local CSV folders with
Redis-backed storage so the tool runs on any device from just .env.

- StringSession persisted at <prefix>:session:<phone> (no re-login per device)
- each group export saved as one self-contained JSON key per run:
  <prefix>:run:<phone>:<yyyymmddhhmmss>:<group_id>
- REDIS_PREFIX namespaces all keys; applied via a single key() helper
- no cross-key references: deleting any key cannot corrupt another's state
- list_exports() lists history, tolerant of deleted/corrupt keys
2026-06-08 16:49:34 +07:00
tiennm99 d6251c0020 [Add] init 2024-03-29 22:31:46 +07:00