# Event Logs FilyX

Event Logs est un module gratuit du panel FilyX. Il journalise les événements officiels Kick séparément pour chaque chaîne, puis permet de les filtrer, de consulter l’historique d’un viewer et de les exporter en CSV.

## Accès

La page est disponible dans **Widgets gratuits > Event Logs** à l’adresse `/panel/eventlogs`. Elle nécessite un compte FilyX connecté et une chaîne Kick liée. Elle n’est pas protégée par Premium.

## Événements pris en charge

- follows ;
- abonnements et renouvellements ;
- abonnements offerts ;
- raids et hosts quand Kick les transmet ;
- dons, tips et KICKs quand une source officielle les transmet ;
- démarrage et fin de live ;
- changements de titre ou catégorie quand l’événement officiel existe ;
- événements manuels et tests privés.

Le pseudo, l’identifiant Kick, le lien de profil et l’avatar sont conservés lorsqu’ils existent dans le payload officiel. Les subgifts conservent aussi le donateur et le premier destinataire transmis.

## Limite officielle des unfollows

Le type `unfollow`, son filtre, ses statistiques, son export, son historique et son bouton de test sont implémentés. FilyX n’invente toutefois aucun unfollow : tant que l’API officielle Kick ne fournit pas un événement fiable ou une liste complète de followers accessible au compte, la détection automatique reste signalée comme indisponible dans le dashboard.

## Confirmé, estimé et test

- `confirmed` : événement reçu d’une source officielle ou ajouté manuellement par le streamer ;
- `estimated` : réservé à une future comparaison fiable de followers ;
- `test` : démonstration privée créée depuis le panel ;
- `hidden` : événement masqué par le streamer.

## Temps réel et anti-doublons

Le webhook officiel Kick est vérifié, mis en file et traité par le moteur OVH. L’interface récupère uniquement les événements de la chaîne autorisée et actualise le flux toutes les trois secondes sans recharger la page. L’identifiant externe Kick est unique par chaîne ; une clé de déduplication empêche aussi les répétitions sans identifiant externe.

## Export CSV

Le bouton **Exporter CSV** reprend les filtres actifs. Le fichier contient la date, le type, le libellé, le pseudo, le display name, l’ID Kick, le profil Kick, le montant, la devise, le message, la source et le statut. Les cellules sont protégées contre l’injection de formules CSV.

## Sécurité multi-streamers

Chaque ligne contient `streamer_id` et `channel_id`. Toutes les lectures, écritures, statistiques, suppressions, historiques et exports utilisent la chaîne obtenue depuis la session FilyX. Un membre d’équipe doit disposer explicitement de la permission `eventlogs`.

## Déploiement OVH

Appliquer `database/migrations/041_event_logs.sql`, publier les fichiers web, puis laisser le moteur FilyX existant traiter les webhooks Kick. Aucun service local ni scraper Kick n’est nécessaire.
