Skip to content

kapp.events (et .events par service)

Petit bus d'événements interne. Chaque service expose son propre .events (kapp.chat.events, kapp.twitch.events, …) ; kapp.events est le bus global de l'instance.

Service partagé appli + widget : API identique.

Quand l'utiliser (vs alternative)

  • Écouter des événements bas niveau émis par un service (ex. fin d'un sondage Twitch).
  • Pour les cas courants, préfère les helpers dédiés : kapp.chat.onMessage/onCommand, kapp.chat.onActivityChange (niveau d'activité du chat, typé ChatActivity, voir chat.md), kapp.twitch.onFollow/onSub/onResub/onSubGift/onRaid (alertes Twitch typées, voir twitch.md), les hooks de cycle de vie (onBeforeExit/onBeforeAbort/onBeforeFinish). Tu auras rarement besoin de events directement.

Méthodes

  • on(eventName: string, callback): void — écoute.
  • once(eventName: string, callback): void — écoute une seule fois.
  • off(eventName: string, callback): void — retire un écouteur.
  • emit(eventName: string, ...args): void — émet (callbacks appelés en synchrone).

Exemple (V2, exécutable)

js
// Réagit à la fin d'un sondage Twitch
kapp.twitch.events.on('poll.end', (data) => {
    console.log('Sondage terminé !', data);
});

Pièges

  • emit appelle les callbacks de façon synchrone : un callback async n'est pas attendu par emit.
  • Les noms d'événements dépendent du service ; consulte le service concerné plutôt que de deviner.
  • Pense à off() si tu enregistres beaucoup d'écouteurs sur une exécution qui dure.