Comandos avanzados de Twitch
Consulta comandos, alias, variables, marcadores y acciones seguras disponibles en la version actual.
Comandos disponibles
La lista cambia automaticamente al activar, desactivar, crear o eliminar comandos.
Comandos activos
Respuestas configuradas actualmente en el bot.
!catModeradores[[require:arg1]][[set_category:{args}]] Categoria actualizada: {game}
!clearqueuePropietario[[song:clear]] 🧹 Cola vaciada.
!clipTodos[[clip:create]] 🎬 Clip creado: {clip_url}
!colaTodos[[song:queue]] 🎶 Cola: {song_queue}
!comandosTodosComandos disponibles: {commands}. Guia completa: {site_url}comandos-twitch/
!discordTodosUnete a discord si quieres enterarte de cuando hago directo y no te pierdas nada: https://discord.gg/8GA4CrM
!historyTodos[[song:history]] 🕘 Historial: {song_history}
!holaTodosHola {user}, bienvenido al canal de {channel}.
!lastsongTodos[[song:last]] ⏮️ Última canción: {song_last}
!lurkTodosGracias por el lurk, {user}. Disfruta mientras haces tus cosas.
!mysongsTodos[[song:mysongs]] 🎼 {user}: {song_user_queue}
!nextsongTodos[[song:next]] ⏭️ Siguiente: {song_next}
!perfilTodos{target_name}: {target_is_live}. Categoria: {target_game}. {target_url}
!positionTodos[[song:position]] 📍 {user}, tu primera canción está en la posición {song_position}.
!redesTodosPuedes seguirme en instagram: esnake55 ------------- Twitter: esnake55 ------------- Web: https://esnake555.eu/ y puedes unirte a nuestro discord https://discord.gg/wVzPHU2 Te esperamos!!!
!removePropietario[[song:remove:{args}]] 🗑️ Canción eliminada de la cola.
!shufflePropietario[[song:shuffle]] 🔀 Cola mezclada.
!skipPropietario[[song:skip]] ⏭️ Canción saltada.
!soModeradores📣 SHOUTOUT PARA {target_name} 📣 · {target_is_live} · 🎮 {target_game} · 💜 Seguidle aquí: {target_url}
Accion: shoutout oficial!songTodos[[song:current]] {song_current}
!songlinkTodos[[song:current]] 🔗 {song_title}: {song_url}
!srPropietario[[song:request:{args}]] 🎵 Añadida: {song_title} · posición {song_position}
!sroffPropietario[[song:close]] ⛔ Song Request desactivado.
!sronPropietario[[song:open]] ✅ Song Request activado.
!srstatusTodos[[song:status]] 🎛️ Song Request está {song_status}.
!suerteTodos{user}: {random:Hoy tienes suerte|Mejor espera un poco|Todo apunta a que si|No parece el momento}
!tituloTodosTitulo actual: {stream_title}
!ultimaraidTodosLa ultima raid fue de {last_raider} con {last_raid_viewers} personas: {last_raider_url}
!versionTodos🐍 Esnake Pack {pack_version} · Bot {bot_version}. Guia: {guide_url}
!vuelvoTodosBienvenido de nuevo, {user}.
!webTodosWeb oficial: {site_url}
Variables, marcadores o mascaras
Los tres nombres se refieren a datos que el bot sustituye al ejecutar una respuesta.
Comando6
{args}
Argumentos completos
Todo el texto escrito despues del comando.
!buscar musica tranquila → musica tranquila{arg1}
Primer argumento
Primera palabra escrita despues del comando.
!so musica tranquila → musica{arg2}
Segundo argumento
Segunda palabra escrita despues del comando.
!so musica tranquila → tranquila{arg3}
Tercer argumento
Tercera palabra escrita despues del comando.
!evento viernes 22:00 especial → especial{command}
Comando ejecutado
Comando usado, incluido el prefijo configurado.
Has usado {command} → Has usado !web{commands}
Lista de comandos
Lista de comandos activos y disponibles en ese momento.
Disponibles: {commands} → !web, !discordUsuario y chat11
{user}
Nombre visible
Nombre visible de la persona que ejecuta el comando.
Hola, {user} → Hola, Espectador{user_login}
Login de Twitch
Login estable de Twitch, normalmente en minusculas.
@{user_login} → @espectador{message}
Mensaje completo
Texto completo recibido en el chat, incluido el comando.
{message} → !buscar musica{role}
Rol detectado
Propietario, moderador, suscriptor o todos segun el mensaje actual.
Permiso: {role} → Permiso: moderador{badges}
Insignias
Lista legible de las insignias incluidas por Twitch en ese mensaje.
Insignias: {badges} → moderador, suscriptor{subscriber_months}
Meses de suscripcion
Meses indicados por la insignia de suscriptor o fundador.
{subscriber_months} meses → 12 meses{bits}
Bits del mensaje
Cantidad de Bits incluida cuando el mensaje es un cheer.
Gracias por {bits} Bits → Gracias por 100 Bits{mention}
Primera mencion
Nombre visible de la primera cuenta mencionada en el mensaje.
Saludo para {mention} → Saludo para Amigo{mention_login}
Login mencionado
Login de Twitch de la primera cuenta mencionada.
@{mention_login} → @amigo{reply_user}
Usuario respondido
Nombre de la persona cuyo mensaje se esta respondiendo.
Respuesta para {reply_user} → Respuesta para Amigo{reply_message}
Mensaje respondido
Texto del mensaje padre cuando el comando se envia como respuesta.
Decia: {reply_message} → Decia: hola a todosCanal y directo9
{channel}
Canal
Login del canal de Twitch configurado para el bot.
Canal: {channel} → Canal: esnake555{site_url}
Direccion web
Direccion principal de WordPress, terminada en barra.
Visita {site_url} → https://esnake555.eu/{stream_title}
Titulo del directo
Titulo guardado en la ultima consulta disponible de Twitch.
Hoy: {stream_title} → Hoy: Noche de variedad{game}
Categoria o juego
Categoria o juego de la ultima consulta disponible.
Jugando a {game} → Jugando a Minecraft{viewers}
Espectadores
Numero aproximado de espectadores de la ultima consulta en cache.
{viewers} espectadores → 125 espectadores{uptime}
Tiempo en directo
Tiempo transcurrido desde el inicio del directo; muestra offline si no esta activo.
En directo desde hace {uptime} → 1 h 25 min{is_live}
Estado del canal
Devuelve en directo u offline segun la ultima informacion disponible.
Estado: {is_live} → Estado: en directo{stream_url}
URL de Twitch
Direccion publica del canal configurado en Twitch.
{stream_url} → https://www.twitch.tv/esnake555{language}
Idioma del directo
Codigo de idioma informado por Twitch en la ultima consulta.
Idioma: {language} → Idioma: esEventos del directo11
{event_user}
Usuario del evento
Persona asociada a la suscripcion, regalo o aviso recibido.
Gracias {event_user} → Gracias Espectador{event_user_login}
Login del evento
Login estable de Twitch de la persona asociada al evento.
@{event_user_login} → @espectador{event_type}
Tipo de evento
Nombre legible del evento automatico procesado.
{event_type} → resuscripcion{system_message}
Mensaje del sistema
Texto que Twitch muestra en el chat para la notificacion.
{system_message} → Twitch anuncia la renovacion{sub_months}
Meses acumulados
Meses acumulados o duracion indicada por Twitch para la suscripcion.
{sub_months} meses → 14 meses{sub_streak}
Racha de suscripcion
Racha de meses consecutivos cuando Twitch la facilita.
Racha: {sub_streak} → Racha: 6{sub_tier}
Nivel de suscripcion
Nivel legible: Prime/Tier 1, Tier 2 o Tier 3.
{sub_tier} → Tier 1{gift_count}
Cantidad de regalos
Numero de suscripciones regaladas en el evento.
{gift_count} regalos → 5 regalos{gifter}
Persona que regala
Nombre de quien regala; muestra Anonimo cuando Twitch lo oculta.
Gracias {gifter} → Gracias Amigo{raid_channel}
Canal de la raid
Nombre del canal que envia la raid.
Raid de {raid_channel} → Raid de canal_amigo{raid_viewers}
Espectadores de la raid
Numero de espectadores incluidos por Twitch en la raid.
{raid_viewers} personas → 42 personasContexto especial1
{source_channel}
Canal de origen
Canal donde se escribio el mensaje cuando procede de Chat Compartido.
Origen: {source_channel} → Origen: canal_amigoCanal indicado9
{target}
Canal objetivo
Primer argumento normalizado como login de Twitch.
!perfil @canal → canal{target_login}
Login objetivo
Login estable del canal indicado.
@{target_login} → @canal{target_name}
Nombre visible
Nombre visible devuelto por Twitch para el canal indicado.
Conoce a {target_name}{target_url}
Enlace del canal
Direccion publica del canal indicado.
{target_url} → https://www.twitch.tv/canal{target_title}
Titulo objetivo
Titulo actual si el canal indicado esta en directo.
Titulo: {target_title}{target_game}
Juego objetivo
Categoria actual del canal indicado cuando esta en directo.
Jugando a {target_game}{target_language}
Idioma objetivo
Idioma actual informado por Twitch.
Idioma: {target_language}{target_is_live}
Estado objetivo
Devuelve en directo u offline.
{target_name} esta {target_is_live}{target_viewers}
Espectadores objetivo
Espectadores actuales si el canal esta en directo.
{target_viewers} espectadoresUltima raid7
{last_raider}
Ultimo raider
Nombre visible del ultimo canal que envio una raid.
Gracias {last_raider}{last_raider_login}
Login del raider
Login del ultimo canal que envio una raid.
@{last_raider_login}{last_raider_url}
Enlace del raider
Direccion publica del ultimo canal que envio una raid.
{last_raider_url}{last_raid_viewers}
Espectadores de la ultima raid
Numero de espectadores de la ultima raid recibida.
{last_raid_viewers} personas{last_raid_time}
Hora de la ultima raid
Fecha y hora local de la ultima raid recibida.
Raid recibida: {last_raid_time}{last_raider_game}
Juego del ultimo raider
Categoria del canal que envio la ultima raid cuando pudo consultarse.
Jugaba a {last_raider_game}{last_raider_title}
Titulo del ultimo raider
Titulo del canal que envio la ultima raid cuando pudo consultarse.
Titulo: {last_raider_title}Encuesta interna6
{poll_question}
Pregunta
Pregunta de la encuesta interna actual o ultima.
Encuesta: {poll_question}{poll_status}
Estado
Estado de la encuesta: active, closed o idle.
Estado: {poll_status}{poll_time_left}
Tiempo restante
Tiempo aproximado hasta el cierre.
Quedan {poll_time_left}{poll_total_votes}
Votos totales
Numero total de votos registrados.
{poll_total_votes} votos{poll_winner}
Opcion ganadora
Opcion u opciones con mas votos.
Ganador: {poll_winner}{poll_results}
Resumen de resultados
Opciones, votos y porcentajes en una linea.
{poll_results}Valores dinamicos3
{counter:nombre}
Contador
Muestra el valor de un contador interno.
Victorias: {counter:victorias}{random:uno|dos|tres}
Opcion aleatoria
Elige una opcion de la lista separada por barras verticales.
{random:Si|No|Quiza}{random_user}
Usuario reciente aleatorio
Elige un usuario visto recientemente por el bot.
Elegido: {random_user}Recompensas del canal9
{reward_name}
Nombre de recompensa
Titulo de la recompensa canjeada.
{reward_name} → Elige el siguiente juego{reward_cost}
Coste
Cantidad de puntos utilizada en el canje.
{reward_cost} → 5000{reward_prompt}
Indicaciones
Texto de ayuda configurado en Twitch para la recompensa.
{reward_prompt} → Escribe el nombre del juego{reward_input}
Texto del espectador
Respuesta escrita por el espectador al canjear. No se guarda en el registro.
{reward_input} → Hollow Knight{reward_status}
Estado del canje
Estado recibido desde Twitch; en esta version solo se lee.
{reward_status} → unfulfilled{reward_id}
ID de recompensa
Identificador tecnico de la recompensa.
{reward_id} → 92af127c-...{redemption_id}
ID del canje
Identificador tecnico del canje concreto.
{redemption_id} → 17fa2df1-...{reward_user}
Nombre visible
Nombre visible de quien realizo el canje.
Gracias {reward_user} → Gracias Espectador{reward_user_login}
Login
Login estable de Twitch de quien realizo el canje.
@{reward_user_login} → @espectadorVersion y ayuda6
{pack_version}
Version del pack
Version instalada de Esnake Pack.
Esnake Pack {pack_version}{plugin_version}
Version del plugin
Version de Esnake Twitch Hub.
Plugin {plugin_version}{theme_version}
Version del tema
Version del tema Esnake Base cuando esta disponible.
Tema {theme_version}{bot_version}
Version del bot
Version del motor del bot.
Bot {bot_version}{build_date}
Fecha de compilacion
Fecha de la entrega instalada.
Build {build_date}{guide_url}
Guia publica
Enlace dinamico a comandos, variables, alias y acciones.
Ayuda: {guide_url}Predicciones de Twitch15
{prediction_title}
Titulo
Pregunta de la prediccion oficial actual o ultima.
Prediccion: {prediction_title}{prediction_status}
Estado
Estado: active, locked, resolved o canceled.
Estado: {prediction_status}{prediction_time_left}
Tiempo restante
Minutos aproximados hasta que se bloqueen las apuestas.
Quedan {prediction_time_left}{prediction_total_users}
Participantes
Participantes totales de todas las opciones.
{prediction_total_users} participantes{prediction_total_points}
Puntos totales
Puntos del canal apostados en total.
{prediction_total_points} puntos{prediction_option_1}
Opcion 1
Titulo de la primera opcion.
{prediction_option_1}: {prediction_option_1_points}{prediction_option_1_users}
Usuarios opcion 1
Participantes de la primera opcion.
{prediction_option_1_users} usuarios{prediction_option_1_points}
Puntos opcion 1
Puntos apostados a la primera opcion.
{prediction_option_1_points} puntos{prediction_option_2}
Opcion 2
Titulo de la segunda opcion.
{prediction_option_2}: {prediction_option_2_points}{prediction_option_2_users}
Usuarios opcion 2
Participantes de la segunda opcion.
{prediction_option_2_users} usuarios{prediction_option_2_points}
Puntos opcion 2
Puntos apostados a la segunda opcion.
{prediction_option_2_points} puntos{prediction_winner}
Resultado ganador
Opcion ganadora cuando Twitch resuelve la prediccion.
Gano {prediction_winner}{prediction_top_winners}
Ganadores destacados
Hasta diez usuarios destacados que Twitch incluye en el resultado.
Destacados: {prediction_top_winners}{prediction_started_at}
Inicio
Fecha y hora de inicio.
Inicio: {prediction_started_at}{prediction_ended_at}
Final
Fecha y hora de finalizacion.
Final: {prediction_ended_at}Acciones seguras
Las acciones hacen algo antes de construir la respuesta. Solo se admiten las macros internas documentadas aqui.
[[require:arg1]]
Exigir argumento
Cancela el comando con un mensaje de uso cuando falta el primer argumento.
[[require:arg1]] Perfil: {target_url}[[shoutout:{arg1}]]
Shoutout oficial
Solicita a Twitch el shoutout oficial para el canal indicado. Necesita moderator:manage:shoutouts.
[[shoutout:{arg1}]] Pasad por {target_url}[[counter:nombre:+1]]
Aumentar contador
Suma una cantidad a un contador interno.
[[counter:victorias:+1]] Victorias: {counter:victorias}[[counter:nombre:-1]]
Reducir contador
Resta una cantidad sin permitir valores negativos.
[[counter:derrotas:-1]] Derrotas: {counter:derrotas}[[counter:nombre:reset]]
Reiniciar contador
Devuelve el contador indicado a cero.
[[counter:victorias:reset]] Contador reiniciado.[[random:uno|dos|tres]]
Texto aleatorio
Elige una opcion y la inserta en la respuesta.
Resultado: [[random:si|no|quiza]][[set_title:{args}]]
Cambiar titulo
Actualiza el titulo del directo. Solo propietario y requiere channel:manage:broadcast.
[[set_title:{args}]] Titulo actualizado.[[set_category:{args}]]
Cambiar categoria
Busca una categoria en Twitch y la aplica al canal.
[[set_category:{args}]] Categoria actualizada.[[timer:activate:nombre]]
Activar o pausar timer
Activa o pausa un timer existente sin editar su mensaje.
[[timer:pause:discord]] Timer pausado.[[trigger:activate:nombre]]
Activar o pausar respuesta
Activa o pausa una respuesta por palabra o frase.
[[trigger:activate:saludo]] Saludo activado.[[poll:open:Pregunta|Opcion 1|Opcion 2|5]]
Abrir encuesta
Abre una encuesta interna. El ultimo numero opcional es la duracion en minutos.
[[poll:open:¿Ganamos?|Si|No|5]][[poll:close]]
Cerrar encuesta
Cierra la votacion interna activa y calcula el resultado.
[[poll:close]] Encuesta cerrada.[[song:request:{args}]]
Solicitar canción
Añade un enlace de YouTube, Spotify o una búsqueda a la cola musical.
[[song:request:{args}]] Añadida: {song_title}[[song:current]]
Canción actual
Obtiene la canción actual de la cola.
[[song:current]] Ahora suena: {song_title}[[song:queue]]
Cola musical
Muestra las primeras canciones pendientes.
[[song:queue]] {song_queue}[[clip:create]]
Crear clip
Crea un clip oficial del directo y permite usar {clip_url} en la respuesta. Solo propietario.
[[clip:create]] Clip creado: {clip_url}[[prediction:announce]]
Anunciar prediccion
Publica el estado de la prediccion oficial actual.
[[prediction:announce]][[prediction:result]]
Anunciar resultado
Publica el ultimo resultado y ganadores destacados.
[[prediction:result]]moderator:manage:shoutouts en la cuenta bot. Las predicciones usan channel:read:predictions y los cambios de titulo/categoria usan channel:manage:broadcast en la cuenta propietaria. No cambies las URLs OAuth.Song Request
Comandos, variables, acciones, recompensas y layouts disponibles en la versión actual.
Comandos de chat
Las plantillas pueden permanecer desactivadas hasta que las revises.
!sr [URL o artista - canción]Activo · Propietario[[song:request:{args}]] 🎵 Añadida: {song_title} · posición {song_position}
Configuración real del bot · cooldown global 0 s · usuario 0 s.!songActivo · Todos[[song:current]] {song_current}
Configuración real del bot · cooldown global 0 s · usuario 0 s.!colaActivo · Todos[[song:queue]] 🎶 Cola: {song_queue}
Configuración real del bot · cooldown global 0 s · usuario 0 s.!nextsongActivo · Todos[[song:next]] ⏭️ Siguiente: {song_next}
Configuración real del bot · cooldown global 0 s · usuario 0 s.!positionActivo · Todos[[song:position]] 📍 {user}, tu primera canción está en la posición {song_position}.
Configuración real del bot · cooldown global 0 s · usuario 0 s.!mysongsActivo · Todos[[song:mysongs]] 🎼 {user}: {song_user_queue}
Configuración real del bot · cooldown global 0 s · usuario 0 s.!songlinkActivo · Todos[[song:current]] 🔗 {song_title}: {song_url}
Configuración real del bot · cooldown global 0 s · usuario 0 s.!lastsongActivo · Todos[[song:last]] ⏮️ Última canción: {song_last}
Configuración real del bot · cooldown global 0 s · usuario 0 s.!historyActivo · Todos[[song:history]] 🕘 Historial: {song_history}
Configuración real del bot · cooldown global 0 s · usuario 0 s.!remove [posición]Activo · Propietario[[song:remove:{args}]] 🗑️ Canción eliminada de la cola.
Configuración real del bot · cooldown global 0 s · usuario 0 s.!skipActivo · Propietario[[song:skip]] ⏭️ Canción saltada.
Configuración real del bot · cooldown global 0 s · usuario 0 s.!shuffleActivo · Propietario[[song:shuffle]] 🔀 Cola mezclada.
Configuración real del bot · cooldown global 0 s · usuario 0 s.!clearqueueActivo · Propietario[[song:clear]] 🧹 Cola vaciada.
Configuración real del bot · cooldown global 0 s · usuario 0 s.!srstatusActivo · Todos[[song:status]] 🎛️ Song Request está {song_status}.
Configuración real del bot · cooldown global 0 s · usuario 0 s.!sronActivo · Propietario[[song:open]] ✅ Song Request activado.
Configuración real del bot · cooldown global 0 s · usuario 0 s.!sroffActivo · Propietario[[song:close]] ⛔ Song Request desactivado.
Configuración real del bot · cooldown global 0 s · usuario 0 s.Enlaces admitidos
YouTube se reproduce con su reproductor oficial. Spotify identifica la canción y busca una coincidencia en YouTube. Si una solicitud falla, el bot responde con un motivo seguro y el panel conserva un diagnóstico técnico.
!sr https://www.youtube.com/watch?v=...
!sr https://open.spotify.com/track/...
!sr Queen - Don't Stop Me Now
Acciones
[[song:request:{args}]][[song:current]][[song:queue]][[song:next]]
[[song:last]][[song:history]][[song:mysongs]][[song:position]]
[[song:remove:{args}]][[song:skip]][[song:shuffle]][[song:clear]]
[[song:status]][[song:open]][[song:close]]
Variables
{song_title}{song_requester}{song_position}{song_queue}
{song_next}{song_last}{song_history}{song_user_queue}
{song_url}{song_status}
Recompensas de puntos
Integración activa para 3 recompensa(s). La respuesta automática normal también puede ejecutarse.
Layouts de OBS
Completo · 1280×720Compacto · 960×540Barra · 1280×180
Mini · 900×70Micro · 600×64Card · 300×300
La URL privada del overlay se copia desde el panel y nunca se publica en esta guía.
Alias, variables y acciones
Un alias ejecuta el mismo comando con otro nombre; una variable inserta datos; una accion modifica estado o llama a una funcion autorizada.
!so, !shoutout y !apoyo pueden ejecutar el mismo comando.Pasad por {target_name}: {target_url}[[shoutout:{arg1}]] Pasad por {target_url}[[counter:victorias:+1]] Llevamos {counter:victorias} victorias.!encuesta ¿Que jugamos?|Minecraft|Fortnite|5!prediccion · !resultado · !prediccionganadores!cambiartitulo Nuevo titulo del directo!categoria Minecraft!version · !ver · !botversionLos comandos pueden aceptar nick, @nick o un enlace de Twitch como primer argumento. Los datos que no existan en ese contexto se sustituyen por texto vacio.
Novedades del Bot Twitch
Historial integrado de funciones, mejoras y correcciones. Esta seccion se actualiza con cada Esnake Pack.
2.51.4
Corrige el paquete del actualizador conjunto y verifica su estructura antes de publicarlo.
Nuevas funciones
- El paquete exterior contiene siempre los dos instaladores y SHA256SUMS.txt dentro de una única carpeta raíz.
Mejoras
- La publicación se detiene si el ZIP no puede validarse y comprobar sus hashes después de extraerlo.
2.51.3
El bot explica en el chat por qué un comando no se puede ejecutar y elimina los límites predeterminados.
Nuevas funciones
- Permisos, horarios, estado del canal, argumentos, comandos inexistentes y votaciones fallidas devuelven un motivo claro en el chat.
Mejoras
- Los mensajes normales ya no se registran como comandos rechazados.
- Los detalles técnicos continúan en el registro del bot sin exponerlos en público.
Correcciones
- Los límites globales, por comando y por usuario quedan en 0 hasta que se configuren expresamente.
- Song Request y la administración por chat dejan de introducir cooldowns automáticos.
2.51.2
Se reparan los diagnósticos y la evaluación de permisos de los comandos de Twitch.
Nuevas funciones
- Cada rechazo deja el permiso requerido, rol recibido, insignias y origen en el registro técnico.
Mejoras
- El bot reconoce la variante compatible de insignias que puede llegar dentro del mensaje firmado.
- Los cooldowns se liberan cuando una acción posterior falla antes de responder.
Correcciones
- El mensaje de un evento real ya no dice «rol simulado».
- Los comandos de moderadores, como !cat, se evalúan con el rol recibido de Twitch.
2.51.1
Se hace efectivo el cooldown general de Song Request y se corrigen textos visibles dañados.
Nuevas funciones
- El cooldown general cubre las solicitudes aceptadas por !sr y recompensas de puntos.
Mejoras
- Las solicitudes rechazadas o con error no consumen el cooldown.
- La constante interna del tema se sincroniza con la versión publicada para renovar recursos en caché.
Correcciones
- Corregidos los textos de menú y archivos que mostraban caracteres dañados.
- El readme, la planificación y la guía integrada reflejan la versión actual.
2.51.0
Se corrige el guardado de Song Request y se añade una comprobación real de YouTube Data API.
Nuevas funciones
- Botón para comprobar la clave guardada desde el servidor.
- Estado de validación y fecha de la última prueba de YouTube.
Mejoras
- La clave nueva se valida antes de sustituir una clave anterior.
- El cooldown general ya aparece y se guarda desde el panel.
Correcciones
- Eliminados los formularios anidados que impedían guardar opciones.
- Separados los formularios de ajustes, comandos y prueba de API.
2.50.0
Se corrige el silencio de !sr y se añade un diagnóstico específico de YouTube y la cola.
Nuevas funciones
- Mensajes seguros en el chat cuando una solicitud no puede añadirse.
- Diagnóstico de módulo, clave, comando, acción interna y último error.
Mejoras
- Errores de YouTube diferenciados entre clave, restricciones, cuota y permisos.
- Las solicitudes fallidas ya no consumen el cooldown de !sr.
Correcciones
- Corregido !sr sin respuesta cuando YouTube Data API devolvía un error.
- Añadida comprobación del código HTTP de Spotify y YouTube.
2.49.0
Se corrige la instalación de comandos de Song Request y se rediseña el Centro de Seguridad.
Nuevas funciones
- Resolución segura de la instancia activa del bot.
- Avisos visibles al instalar o reparar comandos.
Mejoras
- Centro de Seguridad a ancho completo y adaptado al tema oscuro.
- Formularios, diagnósticos y registros reorganizados.
Correcciones
- Corregida la variable que impedía instalar los 16 comandos.
- Eliminado el límite de ancho que hacía diminuta la página de Seguridad.
2.48.0
Revisión integral de seguridad del plugin, tema y registro público.
Nuevas funciones
- Centro de Seguridad con Cloudflare Turnstile para registros.
- Bloqueo seguro del registro hasta completar la configuración.
- Registro anonimizado de intentos y diagnóstico de endurecimiento.
Mejoras
- Rutas públicas limitadas y consultas forzadas reservadas a administradores.
- Importador de noticias restringido a HTTPS y destinos públicos seguros.
- Versión de recursos del tema sincronizada para evitar JavaScript o CSS antiguos en caché.
Correcciones
- Protegida la enumeración de usuarios mediante REST, sitemap y author.
- Añadidos límites por IP y tamaño a la analítica pública.
- El botón de registro deja de mostrarse cuando el registro está bloqueado.
2.47.0
Corrección crítica del panel Song Request y refuerzo de seguridad del overlay.
Nuevas funciones
- Prueba de renderizado del panel durante la validación técnica.
- Token separado de solo lectura para consultar la cola del overlay.
Mejoras
- La guía pública muestra rol, alias, respuesta y cooldown realmente guardados.
- La clave de YouTube deja de aparecer en el código HTML del administrador.
Correcciones
- Corregido el error fatal por usar $this dentro de render_admin_panel() estático.
- La API de lectura de la cola deja de ser pública y devuelve solo campos necesarios.
- Añadido límite anti-repetición al avance automático de la cola.
2.46.0
Las pestañas del panel pasan a ser enlaces reales y ya no dependen únicamente de JavaScript.
Nuevas funciones
- URL propia para cada pestaña del Bot Twitch.
- Navegación funcional incluso cuando el script está bloqueado o en caché.
Mejoras
- Menú distribuido en cuatro columnas para evitar pestañas aisladas.
- Adaptación a dos columnas y una columna en pantallas pequeñas.
Correcciones
- Corregidas las pestañas que se mostraban pero no respondían al hacer clic.
2.45.0
Song Request se separa en una pestaña propia y se corrige la navegación interna del bot.
Nuevas funciones
- Pestaña independiente Song Request en el panel del bot.
- Ruta directa a comandos y guía pública desde el módulo.
Mejoras
- Los enlaces con parámetro tab abren la sección correcta sin recargar.
- Compatibilidad con navegación atrás y adelante del navegador.
Correcciones
- Corregidos los enlaces del menú de navegación que no cambiaban de pestaña.
- Song Request deja de estar mezclado dentro de Herramientas y registros.
2.44.0
Song Request instala y repara todos sus comandos dentro del sistema normal del bot.
Nuevas funciones
- Dieciséis comandos de Song Request con alias útiles.
- Instalador y reparador automático de comandos.
- Acciones para siguiente canción, posición, historial, eliminar, mezclar, vaciar, abrir y cerrar.
Mejoras
- Cada comando permite editar rol, alias, cooldown, respuesta y activación.
- La guía pública genera la lista desde los mismos comandos predeterminados del módulo.
Correcciones
- Al activar Song Request ya no queda el módulo sin comandos utilizables.
2.43.0
La guía pública incorpora una pestaña dinámica dedicada a Song Request.
Nuevas funciones
- Pestaña Song Request con comandos, alias, acciones y variables.
- Estado dinámico del módulo, cola y recompensas vinculadas.
- Documentación de layouts OBS y enlaces admitidos.
Mejoras
- La pestaña Novedades muestra ahora la versión real del pack.
- Las funciones nuevas aparecen aunque sus plantillas aún estén desactivadas.
Correcciones
- Corregida la ausencia de Song Request en la web pública de comandos.
2.32.0
La web de comandos queda integrada en el menu principal y estrena un historial de novedades permanente.
Nuevas funciones
- Pestana Novedades dentro de la web publica de comandos.
- Historial por funciones, mejoras y correcciones.
- Acceso automatico Comandos en el menu principal asignado.
Mejoras
- La documentacion sigue leyendo comandos, alias, variables y acciones directamente del bot.
- La version visible coincide con el comando !version y el pack instalado.
Correcciones
- La guia ya no queda oculta si se olvida agregarla al menu.
- Se evitan elementos duplicados en el menu principal.
2.31.0
Encuestas visuales, predicciones oficiales y control del directo desde comandos autorizados.
Nuevas funciones
- Comando !version.
- Acciones para cambiar titulo y categoria.
- Avisos y resultados de predicciones.
Mejoras
- Presentacion de encuestas.
- Ayuda de comandos, alias, variables y acciones.
Correcciones
- Distribucion de opciones de activacion y ancho de la guia publica.