Commandes de configuration (/logs set, disable, ignore, status) #9

Open
opened 2026-05-31 01:54:04 +02:00 by raphael · 0 comments
Owner

Description

Interface Slash Commands permettant aux administrateurs de configurer le système de logs sans toucher à la base de données.
Dépend entièrement de l’architecture et des tables définies dans le ticket #1.

Events à traiter

Aucun event Discord Gateway ici ; ce ticket implémente les poise::Command (ou interactions Serenity si pas de poise) pour la gestion admin.

Critères d'acceptation

  • /logs set <category> <channel> : active une catégorie de log dans un salon donné.
  • /logs disable <category> : désactive une catégorie.
  • /logs ignore channel <channel> [category] : ignore un salon pour toutes les catégories ou une seule.
  • /logs ignore role <role> [category> : ignore les actions des membres ayant ce rôle.
  • /logs status : embed récapitulatif de la configuration de la guild (/ par catégorie, salons configurés).
  • Validation : vérifier que le bot a les permissions ViewChannel + SendMessages + EmbedLinks dans le salon cible avant sauvegarde.
  • Retour utilisateur clair (embed éphémère) en cas d’erreur de permission ou salon inexistant.

Notes d'implémentation

  • Réutiliser la couche DB/cache du ticket #1.
  • Les commandes doivent être restreintes aux membres ayant la permission Manage Guild ou Administrator.
  • Prévoir l’autocomplétion sur <category> via l’enum LogCategory.
### Description Interface Slash Commands permettant aux administrateurs de configurer le système de logs sans toucher à la base de données. Dépend entièrement de l’architecture et des tables définies dans le ticket #1. ### Events à traiter Aucun event Discord Gateway ici ; ce ticket implémente les `poise::Command` (ou interactions Serenity si pas de poise) pour la gestion admin. ### Critères d'acceptation - [ ] `/logs set <category> <channel>` : active une catégorie de log dans un salon donné. - [ ] `/logs disable <category>` : désactive une catégorie. - [ ] `/logs ignore channel <channel> [category]` : ignore un salon pour toutes les catégories ou une seule. - [ ] `/logs ignore role <role> [category>` : ignore les actions des membres ayant ce rôle. - [ ] `/logs status` : embed récapitulatif de la configuration de la guild (✅/❌ par catégorie, salons configurés). - [ ] Validation : vérifier que le bot a les permissions `ViewChannel` + `SendMessages` + `EmbedLinks` dans le salon cible avant sauvegarde. - [ ] Retour utilisateur clair (embed éphémère) en cas d’erreur de permission ou salon inexistant. ### Notes d'implémentation - Réutiliser la couche DB/cache du ticket #1. - Les commandes doivent être restreintes aux membres ayant la permission `Manage Guild` ou `Administrator`. - Prévoir l’autocomplétion sur `<category>` via l’enum `LogCategory`.
raphael added this to the Logs System milestone 2026-05-31 01:54:04 +02:00
raphael self-assigned this 2026-05-31 01:54:04 +02:00
raphael added this to the TTY project 2026-05-31 01:54:04 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
raphael/tty#9
No description provided.