WidgetAlerts y AlertRuntime
Las alertas sin código (la plantilla Alertas) se diseñan en el lienzo del editor y se guardan en alerts del
manifest.json. Dos objetos globales las llevan a pantalla, y los dos te dejan meter tu código.
WidgetAlerts
Sección titulada «WidgetAlerts»El intérprete que pinta el diseño de manifest.alerts usando Widget.queue.
Solo existe si el manifest trae alerts.
WidgetAlerts.start(hooks?): arranca las alertas del diseño. Los ganchos son opcionales.WidgetAlerts.clear(): vacía la cola de alertas, quita la que se ve y corta su sonido, igual que «Vaciar alertas» desde Streamer.bot.
Los ganchos de start:
before(alert): antes de poner una alerta en la cola. Devuelvefalsepara saltarla.after(alert): cuando la alerta se quita de la pantalla.layer(layer, element, alert): cada capa ya construida, para cambiarla a tu manera. Las capas ocultas (hidden) no se construyen.
WidgetAlerts.start({ before(alert) { return alert.data.user !== "bot_molesto"; },});AlertRuntime
Sección titulada «AlertRuntime»El motor de las alertas del editor visual. Va dentro de la parte generada de script.js (la marcada con ⟦estudio⟧),
así que tu código va fuera de esa marca, en tu parte del archivo.
AlertRuntime.features: lo que lleva este motor según el diseño (sonido, vídeo, plegado de follows…).AlertRuntime.alerts: las alertas del diseño (manifest.alerts); se pueden cambiar en caliente.AlertRuntime.show(event, data?): pone en la cola la alerta que escucha ese evento con estos datos, como si llegara de Streamer.bot. Devuelvefalsesi no sale.AlertRuntime.render(alertId, variantId, sample?): pinta quieta una variante con datos de muestra y devuelve su elemento.AlertRuntime.clear(): vacía la cola, quita la alerta que se ve y corta su sonido.
Ganchos: AlertRuntime.hooks
Sección titulada «Ganchos: AlertRuntime.hooks»Se asignan desde tu parte de script.js:
AlertRuntime.hooks.before(alert): antes de poner una alerta en la cola;falsela salta.AlertRuntime.hooks.after(alert): cuando la alerta se quita de la pantalla.AlertRuntime.hooks.layer(name, element, alert): cada capa y cada grupo ya construidos, por su nombre en el código.
AlertRuntime.hooks.layer = (name, element, alert) => { if (name === "titulo") element.style.letterSpacing = "0.05em";};Reproducción: AlertRuntime.timeline
Sección titulada «Reproducción: AlertRuntime.timeline»Es lo que usa el editor para reproducir una alerta fuera de la cola y sin sonido.
AlertRuntime.timeline.state:status("idle","playing"o"paused"),phase("enter","active","exit"onull),alertId,variantIdynodes.AlertRuntime.timeline.play(alertId, variantId, options?): entrada, fase activa y salida. Connodessolo se animan esos nodos. Devuelvetruesi acaba yfalsesi se para antes.AlertRuntime.timeline.pause(): para en el instante en que va, también el reloj de la fase activa;falsesi no estaba sonando.AlertRuntime.timeline.resume(): sigue desde donde se paró;falsesi no estaba en pausa.AlertRuntime.timeline.restart(): vuelve a empezar la última, con las mismas opciones.AlertRuntime.timeline.stop(): para y quita la que se reproduce.AlertRuntime.timeline.watch(callback): avisa de cada cambio de estado; devuelve cómo dejar de escuchar.