Skip to content

Soiree du jeudi

Le bot gere automatiquement l'organisation de la soiree gaming du jeudi avec un systeme de RSVP, des rappels et un recapitulatif.

Timeline complete

HeureActionDescription
10h00Message RSVPEnvoi du message avec boutons dans le salon jeudi
-Votes en continuCompteurs mis a jour en temps reel sur le message RSVP
-NotificationMessage quand tous les membres ont repondu
20h00Recap automatiqueEmbed recapitulatif des reponses
21h30Rappel DMDM envoye aux presents ayant active l'option

Tous les crons utilisent le fuseau horaire Europe/Paris.

10h00 - Message RSVP

Le cron thursday-reminder envoie un message dans le salon configure (thursdayChannelId) avec quatre boutons :

  • Present (vert) : marque le membre comme present
  • Peut-etre (bleu) : marque le membre comme peut-etre
  • Absent (rouge) : marque le membre comme absent
  • Preciser (gris) : ouvre une modale avec des champs supplementaires

Si un role jeudi est configure (thursdayRoleId), il est mentionne dans le message.

L'ID du message RSVP est stocke dans GuildConfig.thursdayMessageId pour permettre les mises a jour en temps reel.

Votes et mise a jour en temps reel

A chaque vote (clic sur un bouton) :

  1. La reponse est enregistree dans WeeklyEventResponse (upsert via userId + weekNumber + year).
  2. Le message RSVP original est edite pour mettre a jour les compteurs (X present, Y peut-etre, Z absent).
  3. Le bot verifie si tous les membres actifs ont repondu.

Le numero de semaine est calcule selon la norme ISO 8601 pour determiner la semaine en cours.

Bouton "Preciser"

Ouvre une modale Discord avec trois champs :

ChampDescriptionRequis
Statutpresent, maybe ou absentOui
ArriveeHeure d'arrivee estimee (ex: 20h30)Non
CommentaireCommentaire libreNon

Rappel DM opt-in

Quand un membre vote Present, un message ephemere lui propose d'activer le rappel DM a 21h30 avec deux boutons :

  • "Me rappeler a 21h30" : active wantsThursdayDmReminder = true
  • "Pas de rappel" : laisse a false

Notification "tout le monde a repondu"

Apres chaque vote, le bot compare le nombre de reponses au nombre de membres actifs (UserProfile.isActive = true). Si tous ont repondu, un message recapitulatif est envoye dans le salon jeudi.

20h00 - Recap automatique

Le cron thursday-recap envoie un embed recapitulatif dans le salon jeudi :

  • Liste des presents, peut-etre et absents avec les details (heure d'arrivee, commentaires).
  • Nombre de reponses manquantes par rapport aux membres actifs.

21h30 - Rappel DM

Le cron thursday-dm-reminder envoie un DM aux membres presents ayant active l'option.

Idempotence : le champ thursdayDmSentAt sur WeeklyEventResponse garantit qu'un DM n'est envoye qu'une seule fois par semaine et par membre. Le cron filtre les reponses ou ce champ est null.

Si l'envoi de DM echoue (DMs desactives), l'erreur est :

  • Loguee dans SystemLog
  • Notifiee dans le salon admin (niveau warn)