shokollm 7c2bd09ada feat: implement new storage design per issue #2
- Storage: Change from per-user to per-group JSON files
- Data location: ~/.jigaido/ instead of apps/telegram-bot/data/
- Group bounties: data/{group_id}/group.json
- User tracking: data/{group_id}/{user_id}.json
- Personal bounties: data/{user_id}/user.json
- Update commands.py for new storage model
- Update bot.py to remove admin handlers
- Update tests to reflect created_by_user_id field
- Update SPEC.md with new design

Addresses user feedback from issue #2
2026-04-02 14:56:42 +00:00
2026-04-01 08:05:10 +00:00
2026-04-01 08:05:10 +00:00

JIGAIDO

Named after Nanami Kento's Cursed Technique restriction. Suppresses power during normal hours, exerts it during overtime.

A bounty tracking platform. Currently ships with a Telegram bot for managing and tracking bounties in groups and DMs.

Apps

  • Telegram Bot — Group and personal bounty tracking via Telegram commands, with due date reminders

Overview

  • Group bounties: Each Telegram group has its own bounty list
  • Personal bounties: Private DM bounty list for individuals
  • Admin-only posting: Only group admins can add/update/delete bounties
  • Universal tracking: Any member can track bounties to their personal list
  • Due date reminders: Daily cron notifies users when bounties are due within 7 days
  • Free-form dates: Natural language due dates ("tomorrow", "in 3 days", "april 15")
  • Link deduplication: No duplicate links within the same group

Project Structure

jigaido/
├── apps/
│   └── telegram-bot/   ← first app (Python)
│       ├── bot.py
│       ├── commands.py
│       ├── cron.py
│       ├── db.py
│       └── requirements.txt
└── SPEC.md             ← full design specification

License

MIT

Description
Bounty tracker powered by Telegram — Nanami-style cursed technique for tracking obligations and overtime.
Readme 759 KiB
Languages
Python 99.1%
Shell 0.9%