Ir al contenido

Un contador de follows

Un contador es un número que sube con cada evento y se vuelve a pintar. Este suma follows de tres plataformas y arranca desde un valor que se elige en «Configurar» con Widget.parameters.

manifest.json
{
"events": ["Twitch.Follow", "Kick.Follow", "Youtube.NewSubscriber"],
"strings": {
"es": { "followers": "Follows: {total}" },
"en": { "followers": "Follows: {total}" }
},
"menu": {
"sections": [
{
"id": "counter",
"title": { "es": "Contador", "en": "Counter" },
"fields": [
{
"type": "number",
"id": "start",
"param": "start",
"label": { "es": "Empezar en", "en": "Start at" },
"default": 0,
"min": 0,
"max": 1000000,
"step": 1
}
]
}
]
}
}
index.html
<div id="total"></div>
style.css
html,
body {
margin: 0;
background: transparent;
}
#total {
padding: 24px;
font: 700 64px system-ui, sans-serif;
color: #ffffff;
}
script.js
const total = document.querySelector("#total");
let followers = Widget.parameters.int("start", 0);
function render() {
Widget.dom.text(total, Widget.t("followers", { total: followers }));
}
function add() {
followers += 1;
render();
}
Widget.on("Twitch.Follow", add);
Widget.on("Kick.Follow", add);
Widget.on("Youtube.NewSubscriber", add);
render();
  • Cada plataforma tiene su evento, pero con los mismos campos, así que la misma función sirve para los tres.
  • Se pinta una vez al arrancar (render() al final) para que el número salga aunque aún no haya llegado nada.
  • El contador cuenta desde que el widget se conecta: si OBS lo recarga, vuelve al valor de partida. Para que no se pierda, guarda el total fuera del widget (por ejemplo, en una variable de Streamer.bot) y ponlo como valor de partida en «Configurar».
  • Contar también subs: añade Twitch.Sub, Twitch.ReSub, etc. a events y a un segundo contador. La plantilla Contador lo hace con un parámetro que elige qué contar.
  • Un aviso al subir: junta esta receta con la de la alerta con cola.