Commit graph

10 commits

Author SHA1 Message Date
e771073909 test: 81 unit tests for tickets (data, storage, transcript, ui)
All checks were successful
ci / ci (push) Successful in 1m3s
- tests/test_data.py: models serialization, enums, roundtrip
- tests/test_storage.py: CRUD JSON, cache, persistence
- tests/test_transcript.py: HTML generation, escaping, attachments
- tests/test_ui.py: button callbacks with mocked interactions
- Fixed: transcript.py attachments access (dataclass not dict)
2026-10-02 19:34:11 +02:00
628e02aea9 fix(ticket): boutons en français, accents, retrait priorité/infos,组织 layout
All checks were successful
ci / ci (push) Successful in 45s
- Boutons: Réclamer, Transférer, Verrouiller/Déverrouiller, Ajouter, Fermer
- Accents français partout (catégorie, équipe, configuré, etc.)
- Retiré PriorityButton et StatsButton (trop chargé)
- Layout: Gestion (Réclamer/Transférer/Verrouiller) → Ajouter/Fermer
2026-09-26 13:39:03 +02:00
a92dcef08e fix(ticket): add section labels with separators between button groups
Some checks failed
ci / ci (push) Failing after 42s
2026-09-26 13:22:14 +02:00
16fd36ead7 fix(ticket): organize buttons by group (gestion/info/danger)
Some checks failed
ci / ci (push) Failing after 47s
2026-09-26 13:19:50 +02:00
064a5e65f4 fix(ticket): move mention into Container TextDisplay (Components V2)
All checks were successful
ci / ci (push) Successful in 45s
2026-09-26 13:17:11 +02:00
c959a9753d fix(ticket): remove invalid emoji from buttons causing 400 error
All checks were successful
ci / ci (push) Successful in 46s
2026-09-26 12:48:39 +02:00
e46c04fe98 feat(ticket): add transfer, priority, lock/unlock, stats, message recording
All checks were successful
ci / ci (push) Successful in 44s
- TransferButton: transfer ticket to another staff member
- PriorityButton: set ticket priority (low/normal/high/urgent)
- LockButton: lock/unlock ticket (toggle channel permissions)
- StatsButton: show ticket info (category, user, claimed, priority, messages)
- on_message listener: records all messages for transcript
- TicketData: added locked, priority fields
2026-09-25 19:38:24 +02:00
4d1e265848 feat(ticket): add claim, add member, persistent management view
All checks were successful
ci / ci (push) Successful in 47s
- ClaimButton: staff claim/unclaim with log
- AddMemberButton: UserSelect to add member to ticket channel
- TicketManagementView: persistent LayoutView with all 3 buttons
- claimed_by field in TicketData
- Buttons registered as persistent views for bot restart survival
2026-09-25 19:28:15 +02:00
80daeae55c fix(ticket): move command group inside Cog class for proper sync
All checks were successful
ci / ci (push) Successful in 46s
2026-09-20 20:13:07 +02:00
57b6f09dd7 feat(ticket): rewrite ticket system from scratch inspired by Kuby
All checks were successful
ci / ci (push) Successful in 46s
New minimal ticket system (dev only):
- Panel with create ticket button (Components V2, no accent colors)
- Category selection via dropdown or direct modal (1 cat)
- Ticket channel creation with permissions, staff role, welcome message
- Close flow: staff check, transcript HTML (dark theme), log, auto-delete
- /ticket setup, /ticket config (interactive panel)
- Storage: JSON per-ticket + config.json (singleton pattern)
- Modular architecture: data.py, storage.py, ui.py, transcript.py, cog.py
- Removed old modmail system
2026-09-20 20:04:10 +02:00