AkiBot documentation

Écrire un widget

Un widget fait main, c’est du HTML, du CSS et du JavaScript que tu écris toi-même, et qui réagit à ce qui se passe sur ta chaîne. Si les widgets tout faits ne suffisent pas, c’est par ici.

Où l’écrire

Sur le tableau de bord, ta chaîne, puis Widgets et Écrire un widget. Le code à gauche, le widget qui tourne à droite. De faux événements pour l’essayer sans attendre un vrai follow. Une erreur s’affiche avec sa ligne.

Une fois enregistré, il se pose dans un overlay depuis l’éditeur d’overlay, comme n’importe quel widget.

Réagir : akibot.on

akibot.on('alerte', (data) => {
  if (data.kind === 'follow') montrer(data.user + ' arrive !');
});

Le premier argument est le type d’événement, le second ta fonction, qui reçoit les données puis le type. '*' écoute tout.

TypeQuandCe que contient data
alerteFollow, abonnement, bits, raid, points…kind (follow, subscribe, resub, subgift, cheer, raid, points), titre, sous, et les variables de l’alerte (liste). essai vaut true pour une alerte émulée, rejoue pour une alerte renvoyée depuis le fil d’activité.
chatUn message dans le chatuser, login, message, couleur, badges, commande (vrai pour une commande du bot), bot (vrai pour un bot reconnu), morceaux (le texte découpé en texte et emotes).
chat-retraitLa modération retire un messageid du message, ou login de la personne pour un ban ou une exclusion.
compteurUn compteur changenom, valeur.
jeuPendu, motus, devine le motL’état de la partie, jamais la solution tant qu’elle tourne.
clipUn clip vient d’être crééLe clip et qui l’a fait.
alertes-retraitUne vague de follows est bloquéekind des alertes retirées de la file.
etatAu chargementLes compteurs, la citation, les objectifs (voir plus bas).
configL’overlay a été modifiéRien d’utile : la page se redessine d’elle-même.

Ce qu’il sait déjà : akibot.etat

akibot.etat.compteurs donne les compteurs de la chaîne ({ morts: 12 }), akibot.etat.citation la citation du moment, akibot.etat.objectifs la valeur des barres d’objectif. Mis à jour à chaque événement.

Ses réglages : akibot.champs et {{cle}}

Un widget peut déclarer des réglages, que la personne qui le pose change sans toucher au code : une couleur, un texte, un nombre. Types possibles : texte (texte), nombre (nombre), couleur (couleur), case (case à cocher), liste (liste de choix), image (image (adresse)). 30 réglages au plus.

La clé d’un réglage commence par une minuscule, puis lettres, chiffres et _. Sa valeur se lit de deux façons :

<div class="nom">{{titre}}</div>

.nom { color: {{couleur}}; }

akibot.config donne le widget entier, tel qu’il est enregistré dans l’overlay.

Ce qu’un widget ne peut pas faire

Un widget de la galerie peut avoir été écrit par n’importe qui. Il tourne donc enfermé :

Sa taille est celle que tu règles dans l’éditeur d’overlay. Il ne peut pas la changer tout seul.

Les limites

Un exemple complet

Le dernier abonné, avec une couleur réglable (un réglage couleur de type couleur).

<!-- HTML -->
<div id="dernier">Personne encore</div>

/* CSS */
#dernier { font: 700 32px sans-serif; color: {{couleur}}; }

// JavaScript
const el = document.getElementById('dernier');
akibot.on('alerte', (data) => {
  if (['subscribe', 'resub', 'subgift'].includes(data.kind) && !data.essai) {
    el.textContent = data.user;
  }
});

Le partager

Un widget se publie dans la galerie depuis son éditeur. Tu acceptes qu’il soit repris et modifié ; celui qui le reprend en a une copie, et la galerie cite le tien comme original.