Skip to content

Integration gaming

Le bot integre les API Riot Games et HenrikDev pour le suivi des statistiques TFT et Valorant.

Valorant - HenrikDev API

Endpoints utilises

EndpointDonnees recuperees
/valorant/v2/account/{name}/{tag}PUUID, nom, tag, niveau de compte
/valorant/v3/mmr/{region}/{platform}/{name}/{tag}Rank, RR, peak, saison W/L
/valorant/v1/by-puuid/stored-matches/{region}/{puuid}20 derniers matchs competitifs

L'authentification se fait via le header Authorization avec la cle HENRIK_API_KEY.

Agregation des statistiques

Les statistiques sont calculees a partir de deux sources :

Bilan saison (W/L) : extrait du endpoint MMR via mmr.data.seasonal. La derniere entree du tableau correspond a la saison en cours. Les champs wins et games donnent directement le W/L de toute la saison.

Statistiques de combat : calculees a partir des 20 derniers matchs (stored-matches) :

StatCalcul
K/DtotalKills / totalDeaths
ACStotalScore / totalRounds
ADRtotalDamage / totalRounds
HS%headshots / (headshots + bodyshots + legshots) * 100

Champ damage

Le champ utilise pour les degats est damage.made et non damage.dealt. C'est le champ correct renvoye par l'API HenrikDev pour les matchs stockes.

Agent principal : l'agent le plus joue parmi les 20 matchs, avec son winrate et K/D specifiques.

Systeme de cache

SituationDuree du cache
Succes1 heure
Erreur5 minutes
Purge nocturne3h00 quotidien

Le cache est stocke dans la table ValorantTrackerCache. Les entrees expirees sont purgees chaque nuit par le cron cache-purge.

Synchronisation automatique

Un cron (valorant-sync) s'execute toutes les 6 heures (0 */6 * * *). Il parcourt tous les profils ValorantProfile et rafraichit leurs stats, avec une pause de 5 secondes entre chaque joueur pour eviter le rate limiting.

Roast automatique

Si les stats d'un joueur sont mauvaises, le bot genere un commentaire moqueur via l'IA Groq. Les conditions de declenchement :

ConditionSeuil
K/D faible< 0.8
Winrate faible< 45% (> 5 matchs)
Headshot % faible< 15% (> 5 matchs)
Rank basIron ou Bronze

Le prompt inclut un resume des mauvaises stats et demande au modele de "roaster" le joueur en 1-2 phrases.

Stats channels

Voir la page dediee : Stats channels

Riot Games TFT

L'integration TFT utilise trois API Riot Games :

APIUsage
Account-V1Resolution du PUUID depuis gameName/tagline
TFT-Summoner-V1Donnees du joueur (niveau, icone)
TFT-League-V1Rang et statistiques ranked

La synchronisation TFT utilise un cron separe (gaming-sync) qui s'execute egalement toutes les 6 heures, avec une pause de 5 secondes entre les joueurs.

L'authentification se fait via la cle RIOT_API_KEY. Les parametres RIOT_PLATFORM (defaut euw1) et RIOT_REGION (defaut europe) definissent le serveur cible.