0c36aa7b88e9fd5353754e044c0ab4e444d8e6f9
Add comprehensive unit tests for all command handlers: - TestHelperFunctions: is_group, get_group_id, get_user_id, get_room_id - TestCmdBounty: lists bounties, handles empty - TestCmdMy: shows tracked in groups, personal in DM - TestCmdAdd: add bounty success, validation - TestCmdUpdate: update bounty, permission denied, invalid ID - TestCmdDelete: delete bounty, invalid ID - TestCmdTrack: track in group, reject in DM - TestCmdUntrack: untrack in group, reject in DM - TestCmdStart: group vs DM behavior - TestCmdHelp: shows all commands Also fix conftest.py to remove obsolete fresh_db fixture that referenced non-existent db module. All 55 tests pass. Addresses han's feedback on PR #33
Merge pull request 'feat(adapter): implement JSON file storage adapter for issue #9' (#27) from fix/issue-9 into main
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.
Languages
Python
99.1%
Shell
0.9%