Logs Vocal (VoiceStateUpdate) #6

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

Description

Tracer les mouvements des utilisateurs dans les canaux vocaux : connexion, déconnexion, changement de salon, activations caméra/écran.

Events à traiter

Event Discord Struct Serenity Lien docs.rs
VOICE_STATE_UPDATE VoiceStateUpdateEvent https://docs.rs/serenity/latest/serenity/model/event/struct.VoiceStateUpdateEvent.html

Critères d'acceptation

  • Connexion : membre, salon vocal, nombre de participants après connexion.
  • Déconnexion : membre, salon vocal, durée totale passée dans le salon.
  • Changement de salon : salon précédent → nouveau salon.
  • Ignorer le salon AFK du serveur (sauf si configuré autrement).
  • (Optionnel) Notifier l’activation vidéo/stream (peut être désactivé séparément).

Notes d'implémentation

  • Nécessite l’intent GUILD_VOICE_STATES.
  • Besoin d’un cache léger des états vocaux pour calculer la durée de connexion (HashMap<(GuildId, UserId), Instant>).
  • Ce cache est interne à la feature ; pas besoin de le persister.
### Description Tracer les mouvements des utilisateurs dans les canaux vocaux : connexion, déconnexion, changement de salon, activations caméra/écran. ### Events à traiter | Event Discord | Struct Serenity | Lien docs.rs | |---------------|-----------------|--------------| | `VOICE_STATE_UPDATE` | `VoiceStateUpdateEvent` | https://docs.rs/serenity/latest/serenity/model/event/struct.VoiceStateUpdateEvent.html | ### Critères d'acceptation - [ ] **Connexion** : membre, salon vocal, nombre de participants après connexion. - [ ] **Déconnexion** : membre, salon vocal, durée totale passée dans le salon. - [ ] **Changement de salon** : salon précédent → nouveau salon. - [ ] Ignorer le salon AFK du serveur (sauf si configuré autrement). - [ ] (Optionnel) Notifier l’activation vidéo/stream (peut être désactivé séparément). ### Notes d'implémentation - Nécessite l’intent `GUILD_VOICE_STATES`. - Besoin d’un cache léger des états vocaux pour calculer la durée de connexion (`HashMap<(GuildId, UserId), Instant>`). - Ce cache est interne à la feature ; pas besoin de le persister.
raphael added this to the Logs System milestone 2026-05-31 01:51:49 +02:00
raphael self-assigned this 2026-05-31 01:51:49 +02:00
raphael added this to the TTY project 2026-05-31 01:51:49 +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#6
No description provided.