Skip to content

kapp.rewards (récompenses)

Marquer des viewers comme gagnants/perdants au fil de la partie ; les récompenses sont envoyées au serveur au finish().

Méthodes

  • kapp.rewards.winner(user: User): void — marque un viewer gagnant (accumulé localement).
  • kapp.rewards.loser(user: User): void — marque un viewer perdant (accumulé localement).
  • await kapp.rewards.sendRewards(): Promise<void> — envoie winners (valeur 1) et losers (valeur 0). Appelé automatiquement par kapp.finish() avant la clôture. Réinitialise les listes locales immédiatement (même si la requête échoue).

Pattern

js
(async function () {
    // ... déroulé du jeu ...
    kapp.rewards.winner(gagnant);
    perdants.forEach(u => kapp.rewards.loser(u));

    await kapp.finish();   // sendRewards() est déclenché ici
})();

Pièges

  • Rien n'est envoyé tant que finish() (donc sendRewards()) n'a pas tourné. Un abort() abandonne les rewards accumulées.
  • Si un viewer est marqué winner et loser, la dernière valeur écrite l'emporte.
  • winner / loser prennent un objet User (récupéré via kapp.users.get(...) ou kapp.triggerRequest.setter selon le contexte).