Appearance
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 deeventsdirectement.
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
emitappelle les callbacks de façon synchrone : un callback async n'est pas attendu paremit.- 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.