Documentación de @uStreamersBOT
Todo lo que necesitás saber para activar, configurar y aprovechar el bot en Twitch y Kick sin instalar nada.
1. Qué es @uStreamersBOT
@uStreamersBOT es el bot oficial en la nube de uStreamers para tus canales de Twitch y Kick. Funciona de manera 100% remota: no requiere descargar ejecutables, no te consume memoria en la PC de transmisión y no tenés que dejar ventanas abiertas para que responda.
¿Qué hace hoy en tu canal?
- Anuncia alertas de voz aprobadas: cada vez que aceptás el audio de un espectador en tu panel u OBS, el bot avisa en el chat quién envió la nota de voz y cuántos segundos dura.
- Comandos integrados: responde consultas estándar de la comunidad como
!followage,!uptime,!game,!title,!accountagey!commands. - Comandos personalizados: creá respuestas automáticas (como
!discord,!redeso!pc) con permisos específicos, alias, cooldowns y variables en tiempo real. - Contadores numéricos: llevá la cuenta exacta de muertes, victorias o momentos del directo con incrementos atómicos desde la app o el chat.
- Timers automáticos: emití mensajes periódicos con rotación de avisos únicamente cuando estés en vivo y tu chat registre actividad real.
- Gestión desde el chat: tus moderadores pueden crear, modificar y eliminar comandos o ajustar contadores sin salir del directo.
- Migración asistida: importá tu configuración previa de Nightbot, StreamElements, Botrix o archivos CSV/JSON con vista previa y conversión de variables.
- IA del chat (uStreamers Plus+, opcional): si la encendés desde Studio, responde con inteligencia artificial las preguntas que tu comunidad escriba con el comando que elijas (por defecto
!ia), siempre marcadas con 🤖. - Dibujos con IA (uStreamers Plus+ o MAX, opcional): si activás el comando (por defecto
!dibujo), le responde en el chat a cada pedido de dibujo: si va en camino, si pasa antes por tus moderadores o por qué no se puede. Ver dibujos y personajes con IA. - Anuncia regalos de planes: si alguien le regala Plus+ o MAX a un espectador desde su tarjeta en el chat de tu canal, el bot lo anuncia. Lo apagás con «Anunciar regalos de planes» en sus ajustes.
2. Cómo activarlo, paso a paso
Podés poner en marcha el bot en menos de dos minutos directamente desde la aplicación móvil de uStreamers.
-
1
Encendé el interruptor en la app
Abrí la app de uStreamers con tu cuenta de streamer. Entrá a tu perfil de streamer y seleccioná la pantalla del bot (icono de chip o Perfil Oficial). En la sección Herramienta para streamers, encendé el interruptor principal con el nombre exacto: «Activar @uStreamersBOT en mi canal».
-
2
Vinculá tus plataformas (Twitch y Kick)
Asegurate de tener conectadas tus cuentas de transmisión en tu perfil. Si vinculás ambas, el bot hablará en Twitch y Kick en simultáneo.
Permiso de Twitch: la app te solicitará el permiso
channel:botpara que @uStreamersBOT pueda ingresar y enviar mensajes a tu chat. Si falta este permiso, el bot no podrá hablar.Permiso para !followage: Twitch requiere el permiso
moderator:read:followerspara consultar la fecha de seguimiento de los espectadores. Si vinculaste tu cuenta de Twitch antes de la llegada de esta función, al usar el comando el bot te indicará: «El canal tiene que volver a vincular Twitch en uStreamers para usar !followage.» En ese caso, solo tenés que tocar nuevamente "Vincular Twitch" en tu perfil para autorizar el permiso. -
3
Dale moderador al bot en tus chats (Muy recomendado)
Para garantizar que los mensajes no queden retenidos ni sufran demoras por el modo lento o el modo solo seguidores, dale rango de moderador a la cuenta del bot en cada plataforma:
- En Twitch: escribí en tu chat
/mod ustreamersbot - En Kick: escribí en tu chat
/mod uStreamersBOT
¿Por qué conviene? En Twitch, una cuenta sin moderador tiene un tope estricto de 20 mensajes cada 30 segundos. Siendo moderador, el bot envía respuestas instantáneas sin verse afectado por filtros de velocidad.
- En Twitch: escribí en tu chat
3. Qué lee y qué guarda el bot (Privacidad y transparencia)
En uStreamers creemos en la transparencia total. Diseñamos el bot bajo una política estricta de mínima recolección de datos y respeto por la privacidad de tu comunidad:
- Solo procesa mensajes con prefijo
!: el bot ignora por completo las conversaciones normales del chat. Únicamente analiza los mensajes que comienzan con el carácter de comando (ej.!redes,!uptime). - Conteo de actividad para timers sin guardar contenido: para calcular si se alcanzó el mínimo de líneas de chat que requiere un timer periódico, el sistema utiliza un acumulador numérico en memoria (un número entero que suma 1 por línea). No se guarda el texto del mensaje, ni quién lo escribió, ni las conversaciones. Al disparar el timer, el contador vuelve a cero.
- Sin interacción en chats compartidos (Streamear Juntos / Shared Chat): si tu canal participa de una transmisión compartida con otro streamer, el bot detecta los mensajes originados en el canal invitado y los ignora en silencio. Nadie de otro canal puede activar comandos ni modificar ajustes en el tuyo.
- Anti-bucle e ignorar otros bots: el bot ignora automáticamente a otros bots reconocidos de la industria (Nightbot, StreamElements, Botrix, etc.) y a su propia cuenta para imposibilitar respuestas infinitas o bucles de spam.
- Datos de seguidores en Kick: la API oficial de Kick no proporciona un endpoint público para consultar desde qué fecha sigue un espectador al canal. Por esa razón, cuando un usuario sigue tu canal de Kick, uStreamers registra mediante webhook oficial el ID de Kick, su nombre de usuario y la fecha en que comenzó a seguirte. Esos datos se conservan exclusivamente para que el comando
!followagepueda responder con certeza en Kick. - IA del chat (sólo si la encendés, con uStreamers Plus+): junto con el de los dibujos, es el único comando cuyo texto sale de uStreamers hacia un proveedor externo. Cuando alguien escribe el comando de la IA (por defecto
!ia), su pregunta y su nombre visible se envían a OpenAI para generar y moderar la respuesta y, si hace falta un dato reciente, una consulta breve de palabras clave, sin el nombre de quien preguntó, se envía a Brave o a Perplexity. No guardamos las preguntas ni las respuestas, y cada respuesta sale marcada con 🤖. Detalle en la sección 17 de la Política de Privacidad. - Dibujos con IA (sólo si los activás, con uStreamers Plus+ o MAX): cuando alguien escribe el comando de los dibujos (por defecto
!dibujo), el texto del pedido se envía a OpenAI, sin el nombre de quien lo pidió, para revisarlo y generar la imagen. El pedido se borra cuando el dibujo termina. Los globos del escenario de personajes no pasan por el bot: los muestra la fuente de OBS en el momento y no se guardan. Detalle en la sección 23 de la Política de Privacidad.
4. Comandos integrados
El bot incluye comandos estándar listos para usar desde el primer segundo. Todos cuentan con un cooldown predeterminado de 5 segundos a nivel global y 30 segundos por usuario para evitar saturación del chat. El streamer y sus moderadores saltean los cooldowns.
| Comando | Qué hace | Ejemplo de respuesta en el chat | Twitch | Kick | Cooldown |
|---|---|---|---|---|---|
!followageopcional: @usuario |
Indica cuánto tiempo hace que el usuario sigue al canal actual. |
Twitch: @martin sigue a lucas_stream hace 1 año, 2 meses y 3 días (desde el 15/07/2025).Kick (con registro): @martin sigue a lucas_stream desde al menos el 15/07/2025.Kick (sin registro): Kick todavía no permite consultar desde cuándo sigue alguien. Si seguís el canal desde ahora, uStreamers lo va a recordar. 💚
|
Completo | Registro local | 5 s global 30 s usuario |
!uptime |
Muestra cuánto tiempo lleva transmitiendo el canal en esa plataforma. |
En vivo: lucas_stream está en vivo hace 2 h 15 min.Offline: lucas_stream no está en vivo ahora.
|
Sí | Sí | 5 s global 30 s usuario |
!game |
Muestra la categoría o juego actual configurado en la transmisión. |
Con juego: Juego actual: Just ChattingSin juego: No hay categoría establecida.
|
Sí | Sí | 5 s global 30 s usuario |
!title |
Muestra el título asignado al directo en esa plataforma. |
Con título: Título actual: Charlando con la comunidad y probando botsSin título: No hay título establecido.
|
Sí | Sí | 5 s global 30 s usuario |
!accountageopcional: @usuario |
Informa la antigüedad de creación de la cuenta en la plataforma. |
Twitch: La cuenta de @martin tiene 3 años y 4 meses.Kick: Kick no permite consultar la antigüedad de las cuentas.
|
Sí | No disponible | 5 s global 30 s usuario |
!commands |
Muestra la lista de comandos personalizados disponibles para todos los espectadores. |
Con comandos: Comandos: !discord !redes !pc y 3 másSin comandos: No hay comandos personalizados disponibles.
|
Sí | Sí | 5 s global 30 s usuario |
5. Comandos personalizados desde la app
Creá respuestas automáticas a medida desde la app móvil (pantalla Comandos personalizados → botón Nuevo comando).
Campos del editor de comandos
- Nombre del comando: entre 1 y 32 caracteres en minúsculas. Se admiten letras (
a-z), números (0-9), guiones bajos (_) y caracteres con tilde o eñe (á, é, í, ó, ú, ü, ñ). No incluyas el signo!, la app lo gestiona automáticamente. - Respuesta: texto que enviará el bot, de 1 a 500 caracteres. Podés combinar texto plano con variables dinámicas entre llaves (ej.
{user}). - Alias (opcional): hasta 5 nombres alternativos que disparen la misma respuesta (ej.
dcpara!discord). Tienen las mismas reglas de validación que el nombre principal. - Permiso requerido: restringe quién puede ejecutar el comando en el chat:
Todos(Everyone): cualquier espectador.Suscriptores(Subscriber): suscriptores y fundadores (más VIPs, mods y streamer).VIPs(Vip): usuarios con insignia VIP (más mods y streamer).Moderadores(Moderator): moderadores del canal y streamer.Solo streamer(Broadcaster): exclusivamente el creador del canal.
- Cooldown global: tiempo mínimo en segundos que debe transcurrir entre usos del comando por cualquier espectador (0 a 3.600 segundos; valor por defecto: 5 segundos).
- Cooldown por usuario: tiempo en segundos que debe esperar un mismo espectador antes de volver a usarlo (0 a 3.600 segundos; valor por defecto: 15 segundos).
- Plataformas: elegí si responderá en Twitch, Kick o Ambas simultáneamente.
- Solo en vivo: si está marcado, el bot ignorará el comando si el directo está apagado en esa plataforma.
- Habilitado: interruptor para pausar o reactivar el comando en cualquier momento sin necesidad de borrarlo.
so, shoutout, addcom, editcom, delcom, commands, counter, followage, uptime, game, title, accountage, raid, unraid, ban, timeout, unban, untimeout, clear, slow, slowoff, followers, followersoff, subscribers, subscribersoff, emoteonly, emoteonlyoff, uniquechat, uniquechatoff, announce, commercial, marker, mod, unmod, vip, unvip.
Si alguien intenta crear o editar un comando con esos nombres, el bot responde en el chat: «!{nombre} ya es un comando de uStreamers. Elegí otro nombre.»
6. Variables dinámicas
Hacé que las respuestas de tus comandos sean vivas e interactivas utilizando variables entre llaves {variable}:
| Variable | Qué muestra | Respuesta escrita → Lo que se ve en el chat |
|---|---|---|
{user} |
Nombre del usuario que escribió el comando en el chat. | Hola {user}! → Hola @lucas! |
{touser} |
El usuario mencionado como primer argumento tras el comando. Si no se escribió ninguno, devuelve al propio {user}. |
¡Abrazo para {touser}! (con !abrazo @maria) → ¡Abrazo para maria! |
{1} a {9} |
Argumentos posicionales individuales (máximo 50 caracteres cada uno). | Puntaje de {1}: {2} (con !puntos martin 100) → Puntaje de martin: 100 |
{args} |
Todo el texto escrito a continuación del comando. | Preguntaste: {args} (con !pregunta cuándo prendés) → Preguntaste: cuándo prendés |
{channel} |
Nombre del canal donde se está ejecutando el comando. | Bienvenidos al canal de {channel} → Bienvenidos al canal de lucas_stream |
{platform} |
Plataforma actual desde donde se envió (Twitch o Kick). |
Estás en {platform} → Estás en Twitch |
{random:MIN-MAX} |
Número entero al azar entre MIN y MAX. Admite números negativos (diferencia máx: 1.000.000). | Tiraste un dado: {random:1-6} → Tiraste un dado: 5 |
{pick:opc1|opc2|...} |
Elige una opción al azar de la lista separada por barras verticales (máximo 20 opciones). | Cena de hoy: {pick:Pizza|Empanadas|Hamburguesa} → Cena de hoy: Empanadas |
{time:ZONA} |
Hora actual en formato HH:mm según la zona horaria IANA especificada. |
Hora en Argentina: {time:America/Argentina/Buenos_Aires} → Hora en Argentina: 21:45 |
{count} |
Contador de ejecuciones propio de este comando. Se incrementa en 1 en cada uso. | Este comando se usó {count} veces → Este comando se usó 42 veces |
{count:nombre} |
Incrementa en 1 y muestra el valor del contador personalizado nombre. Si el contador no existía, se crea automáticamente iniciando en 1 (siempre que el canal no haya superado el cupo de 100 contadores). |
¡Lucas se cayó! Van {count:caidas} caídas → ¡Lucas se cayó! Van 15 caídas |
{getcount:nombre} |
Lee y muestra el valor actual del contador sin incrementarlo (muestra 0 si no existe). | Total de caídas acumuladas: {getcount:caidas} → Total de caídas acumuladas: 15 |
{uptime} |
Inserta el texto de duración en vivo del canal. | Llevamos {uptime} → Llevamos lucas_stream está en vivo hace 2 h 15 min. |
{game} |
Categoría o juego actual de la transmisión. | Jugando a {game} → Jugando a Juego actual: Valorant |
{title} |
Título actual del directo. | Stream: {title} → Stream: Título actual: Rango inmortal hoy |
{followage} |
Tiempo de seguimiento del espectador que ejecutó el comando. | Tu follow: {followage} → Tu follow: @lucas sigue a canal hace 5 meses... |
- Variables caras: las variables que requieren consultas a bases de datos o APIs externas (
{count},{count:nombre},{getcount:nombre},{uptime},{game},{title},{followage}) tienen un límite de 10 por respuesta. - Variables desconocidas: si escribís una variable inexistente o superás el tope de 10 variables caras, el bot la conserva como texto literal intacto en el chat (ej.
{variable_rara}).
7. Gestión desde el chat
Tus moderadores y vos pueden gestionar comandos y contadores en tiempo real directamente desde el chat de Twitch o Kick.
Sintaxis y comandos disponibles
- Crear comando:
!addcom <nombre> [-cd=segundos] [-ul=nivel] [-a=alias1,alias2] <respuesta>
Ejemplo simple:!addcom discord Unite a discord.gg/comunidad
Ejemplo avanzado:!addcom sorteo -cd=30 -ul=sub -a=giveaway,premio ¡Sorteo activo para subs! - Editar comando existente:
!editcom <nombre> [-cd=segundos] [-ul=nivel] [-a=alias1,alias2] <respuesta>
Ejemplo:!editcom discord Nuevo enlace actualizado: discord.gg/nuevo - Eliminar comando:
!delcom <nombre>
Ejemplo:!delcom sorteo - Sintaxis alternativa compatible con Nightbot:
También se aceptan!commands add <nombre> ...,!commands edit <nombre> ...y!commands delete <nombre>(o!commands del). - Gestión de contadores:
!counter <nombre>→ Lee el valor actual.
!counter <nombre> +No-N(o+/-) → Suma o resta al contador.
!counter <nombre> set <N>→ Fija el contador en un valor numérico específico.
| Opción en línea | Valores permitidos | Descripción |
|---|---|---|
-cd=N |
0 a 86.400 segundos | Configura el cooldown global del comando en segundos. |
-ul=NIVEL |
everyone, sub (o subscriber), vip, mod (o moderator), broadcaster (u owner) |
Define el rango mínimo de usuario requerido para usar el comando. |
-a=ALIAS |
Nombres separados por comas (hasta 5) | Asigna alias directos para el comando (ej: -a=dc,servidor). |
¿Cómo apagar la gestión desde el chat? Si no querés que nadie gestione comandos desde el chat, desmarcá el interruptor «Gestión desde chat (!addcom, !editcom, !delcom)» en la app móvil.
8. Contadores
Los contadores son valores numéricos ideales para rastrear estadísticas dinámicas de tus directos: caídas, victorias en battle royale, mates cebados, goles o anécdotas.
Cómo funcionan
- Desde la app móvil: entrá a la sección Contadores para ver la lista de todos tus contadores, crear nuevos con su valor inicial, editar su valor manualmente con un toque o eliminarlos.
- Desde el chat: los moderadores pueden sumar, restar o fijar el número en cualquier momento con
!counter <nombre> +1o!counter <nombre> set 0. - En tus propios comandos: utilizá
{count:nombre}para incrementar en 1 y mostrar el nuevo número cada vez que alguien escriba el comando (ej:!morí), o{getcount:nombre}para consultar el total sin sumarle nada. - Creación automática: si en una respuesta escribís
{count:nuevo}y ese contador aún no existe, el bot lo creará automáticamente con valor 1. - Seguridad y concurrencia: cada canal puede tener hasta 100 contadores personalizados. Los incrementos son atómicos a nivel de base de datos, por lo que nunca habrá pérdidas de conteo si dos personas ejecutan un comando al mismo tiempo.
9. Timers automáticos
Los timers publican mensajes automáticos en tu chat a intervalos regulares para compartir redes sociales, enlaces a tu Discord o recordatorios de comunidad mientras estás en vivo.
Condiciones necesarias para que dispare un timer
Para evitar spammear un chat inactivo o enviar mensajes cuando no estás transmitiendo, el worker de uStreamers (que revisa cada 30 segundos) solo dispara un timer si se cumplen todas las siguientes condiciones simultáneamente:
- Canal en vivo: tu canal debe estar transmitiendo en directo en esa plataforma específica.
- Intervalo cumplido: deben haber transcurrido los minutos configurados en
Intervalo(entre 5 y 240 minutos) desde el último disparo del timer (o desde el inicio de la transmisión si nunca disparó en esta sesión). - Líneas mínimas de chat: el chat debe haber registrado al menos la cantidad de mensajes indicada en
Líneas mínimas(de 0 a 500 mensajes) de espectadores reales (no bots) desde el último disparo.
¿Qué pasa con 0 líneas mínimas? Si configurás 0 líneas mínimas, el timer disparará estrictamente al cumplirse el tiempo, sin importar si alguien habló en el chat.
Rotación y reglas operativas
- Rotación de 1 a 5 mensajes: podés agregar hasta 5 mensajes distintos dentro del mismo timer. El bot los enviará alternadamente en rueda (round-robin), uno en cada disparo.
- Separación inteligente de timers: si tenés varios timers configurados y dos coinciden en el mismo momento, el bot dispara uno y espera al próximo ciclo de 30 segundos para enviar el siguiente, evitando publicar dos mensajes pegados en el mismo segundo.
- Variables en timers: las variables que dependen de un espectador (como
{user},{touser}o{1}) no tienen sentido en un timer y se evalúan vacías. Sí podés usar variables de canal como{channel},{uptime},{game},{title},{time:...},{random:...},{pick:...}y contadores{getcount:...}. - Límite: cada canal puede tener hasta 20 timers automáticos.
10. Importar desde otro bot
Si ya tenías tus comandos, contadores o timers configurados en Nightbot, StreamElements o Botrix, no tenés que reescribir nada. El importador analiza tu configuración y la traslada automáticamente a uStreamers.
Orígenes de importación disponibles
- Nightbot (Conexión OAuth2 oficial):
Conectás tu cuenta de Nightbot mediante autorización oficial. uStreamers únicamente solicita permisos de sólo lectura para comandos y timers. Por seguridad estricta, el token de acceso se utiliza una única vez en memoria para descargar tu lista y se destruye de inmediato; jamás se guarda en bases de datos ni se imprime en logs. Si la integración con Nightbot no está habilitada en el servidor, aparecerá indicada con la insignia "Pronto". - StreamElements (Token JWT):
Pegás tu token JWT personal de StreamElements. Lo encontrás en el panel de StreamElements → Ajustes de cuenta (Account Settings) → Canal (Channel) → Mostrar token (Show secrets / JWT Token).
Aviso de seguridad: uStreamers nunca guarda ni loguea tu token JWT. Se usa exclusivamente en memoria durante la consulta. Recomendamos regenerar el token en StreamElements una vez finalizada la importación. - Botrix / Archivo / Texto pegado:
Podés pegar directamente tu lista de comandos en 4 formatos reconocidos:
!nombre respuesta
!nombre - respuesta
!nombre: respuesta
!nombre<TAB>respuesta
También podés subir o pegar un archivo CSV (hasta 1.000 filas y 1 MB) con columnasname,response,userlevel,globalcooldown,usercooldown,aliases,platforms,onlywhenlive, o una copia de seguridad en formato JSON oficial de uStreamers (format: "ustreamers-bot", version: 1).
Vista previa y resolución de conflictos
Antes de aplicar cualquier cambio, la app te presenta una pantalla de previsualización detallada donde cada elemento muestra su estado:
- Listo: totalmente compatible y listo para importarse.
- Listo con avisos: compatible tras alguna adaptación automática (por ejemplo, recortar un texto a 500 caracteres, acotar un intervalo de timer al rango 5–240 minutos o convertir el nivel "Regular" de Nightbot a VIP).
- Ya existe (Conflicto): el nombre coincide con un comando, alias, contador o timer que ya tenés. Podés elegir entre tres estrategias:
- Omitir (Skip): se mantiene el que ya tenías y se saltea el importado.
- Sobrescribir (Overwrite): se actualiza tu comando con el texto y ajustes importados.
- Renombrar con número (Rename): se le asigna automáticamente un sufijo numérico (ej.
!redes_2).
- No compatible: el elemento no se puede importar y se descarta automáticamente.
¿Qué no se importa y por qué?
- Variables externas: llamadas como
$(urlfetch),$(customapi),$(eval)o equivalentes de StreamElements y Botrix se descartan por seguridad (prevención de vulnerabilidades SSRF y ejecución de código ajeno). - Palabras clave o expresiones regulares: en uStreamers todos los comandos inician con el prefijo
!nombre. - Susurros de StreamElements: pasan a responderse normalmente en el chat público.
- Timers exclusivamente offline: quedan descartados porque uStreamers solo emite timers en directo.
Vigencia y límites: la sesión de vista previa dura 30 minutos y se confirma una sola vez para evitar duplicados accidentales. Cada streamer cuenta con un límite de 10 importaciones por hora.
Tabla de equivalencias de variables
Esta tabla detalla exactamente las traducciones que el motor de importación realiza desde cada bot:
| Variable origen (Nightbot / StreamElements / Botrix) | Variable equivalente en uStreamers | Comportamiento |
|---|---|---|
$(user) / ${user} / ${user.name} / ${sender} |
{user} |
Nombre del usuario que invocó el comando. |
$(touser) / ${touser} |
{touser} |
Usuario mencionado en el primer argumento. |
$(query) / ${1:} / {args} |
{args} |
Todos los argumentos posteriores al comando. |
$(1) a $(9) / ${1} a ${9} |
{1} a {9} |
Argumentos posicionales individuales. |
$(count) / ${count} |
{count} |
Contador de ejecuciones del comando. |
${count nombre} |
{count:nombre} |
Incrementa y muestra el contador con nombre. |
${getcount nombre} |
{getcount:nombre} |
Consulta el valor del contador sin incrementarlo. |
$(channel) / ${channel} |
{channel} |
Nombre del canal actual. |
$(uptime) / ${uptime} |
{uptime} |
Tiempo transcurrido de la transmisión en vivo. |
$(followage) / ${user.followage} |
{followage} |
Antigüedad de seguimiento del espectador. |
$(twitch $(channel) "{{game}}") / ${game} |
{game} |
Categoría o juego actual de la transmisión. |
$(twitch $(channel) "{{title}}") / ${title} |
{title} |
Título actual de la transmisión. |
$(randomnum A B) / ${random.A-B} |
{random:A-B} |
Generación de número aleatorio en rango. |
${random.pick 'opc1' 'opc2'} |
{pick:opc1|opc2} |
Selección aleatoria de una opción entre varias. |
$(time Zona) / ${time.Zona} |
{time:Zona} |
Hora formateada en zona horaria IANA. |
$(urlfetch ...), $(customapi ...), $(eval ...), ${urlfetch ...} |
No permitido | Descartado preventivamente por seguridad e Invariante I9. |
11. Twitch vs. Kick
@uStreamersBOT unifica la experiencia en ambas plataformas, pero cada una cuenta con particularidades técnicas en sus APIs oficiales:
| Característica | En Twitch | En Kick |
|---|---|---|
Comando !followage |
Cálculo exacto en años, meses y días vía API oficial de Twitch (requiere el permiso moderator:read:followers). |
Indica «desde al menos el DD/MM/AAAA» si el follow fue registrado por webhook de uStreamers; si no hay registro histórico, responde con aviso transparente. |
Comando !accountage |
Disponible. Muestra años, meses y días de creación de la cuenta vía Helix API. | No disponible. Kick no expone fechas de creación de cuentas en su API pública; el bot responde: «Kick no permite consultar la antigüedad de las cuentas.» |
!uptime, !game, !title, !commands |
100% disponible. | 100% disponible. |
| Comandos personalizados y variables | 100% disponible. | 100% disponible. |
| Contadores y timers automáticos | 100% disponible. | 100% disponible. |
| Comando para otorgar moderador | /mod ustreamersbot |
/mod uStreamersBOT |
| Permisos requeridos en el perfil | Permisos channel:bot y moderator:read:followers |
Vincular la cuenta de Kick en tu perfil de streamer |
| Límite de velocidad del bot | 1 mensaje por segundo por canal | 1 mensaje por segundo por canal |
12. Límites del sistema
Todos los límites reales de @uStreamersBOT configurados en la plataforma:
| Concepto | Límite en uStreamers |
|---|---|
| Comandos personalizados por canal | Hasta 200 comandos |
| Alias por cada comando | Hasta 5 alias |
| Longitud del nombre del comando | 1 a 32 caracteres (letras minúsculas, números, guion bajo y tildes) |
| Longitud máxima de la respuesta | 500 caracteres (mensajes más extensos se truncan con puntos suspensivos) |
| Rango de cooldowns (global y por usuario) | 0 a 3.600 segundos (1 hora) |
| Cooldowns por defecto de comandos personalizados | Global: 5 segundos · Por usuario: 15 segundos |
| Cooldowns de comandos integrados | Global: 5 segundos · Por usuario: 30 segundos |
| Contadores personalizados por canal | Hasta 100 contadores |
| Timers periódicos por canal | Hasta 20 timers |
| Mensajes rotativos por timer | 1 a 5 mensajes |
| Longitud de cada mensaje de timer | 1 a 500 caracteres |
| Intervalo entre ejecuciones de timer | 5 a 240 minutos (valor por defecto: 15 minutos) |
| Líneas mínimas de chat requeridas en timers | 0 a 500 líneas (valor por defecto: 5 líneas) |
| Frecuencia de evaluación del worker de timers | Cada 30 segundos (máximo 1 timer por tick por canal) |
| Variables caras permitidas por respuesta | Máximo 10 variables caras |
Rango máximo de {random:MIN-MAX} |
1.000.000 de diferencia entre MIN y MAX |
Opciones máximas en {pick:...} |
Hasta 20 opciones separadas por pleca |
| Tamaño máximo de archivo de importación | 1 MB (1.048.576 bytes) |
| Cantidad máxima de filas en CSV | 1.000 filas |
| Duración de la sesión de vista previa | 30 minutos antes de expirar |
| Límite de solicitudes de importación | 10 solicitudes por hora por streamer |
13. Problemas frecuentes
Respuestas a las dudas y situaciones más comunes al configurar el bot:
¿Por qué el bot no responde en mi chat?
Comprobá los siguientes cuatro puntos:
- Revisá en la app móvil que el interruptor principal «Activar @uStreamersBOT en mi canal» esté encendido.
- Asegurate de que tus cuentas de Twitch o Kick estén conectadas en tu perfil de streamer.
- Verificá haberle dado moderador al bot en tu canal (
/mod ustreamersboten Twitch,/mod uStreamersBOTen Kick), especialmente si tu chat tiene activado el modo lento o modo solo seguidores. - Si se trata de un comando personalizado, comprobá que esté habilitado, que la plataforma coincida y que no tenga activado "Solo en vivo" si el directo está apagado.
¿Por qué responde en una plataforma sí y en la otra no?
Verificá en la app que ambas cuentas estén vinculadas. Si se trata de un comando personalizado, abrilo en el editor y asegurate de que en el selector de Plataformas esté seleccionada la opción "Ambas" (o la plataforma en la que no responde).
¿Por qué !followage me dice que vuelva a vincular Twitch?
Twitch requiere un permiso especial denominado moderator:read:followers para que el bot pueda consultar desde cuándo te sigue un usuario. Si conectaste Twitch antes del lanzamiento de este comando, la app no contaba con ese permiso. Solo tenés que ir a tu perfil en la app y tocar "Vincular Twitch" para concederlo; no vas a perder ninguna configuración.
¿Por qué mi timer no sale en el chat?
Recordá que los timers exigen que el canal esté en vivo en esa plataforma, que haya transcurrido el tiempo del intervalo y que el chat haya alcanzado la cantidad de líneas mínimas de chat configurada. Si tu chat estuvo en silencio, el timer esperará pacientemente hasta que los espectadores vuelvan a escribir para no spammear mensajes en un chat vacío. Si querés que salga siempre sin importar los mensajes, configurá las líneas mínimas en 0.
¿Por qué la app no me deja usar cierto nombre de comando?
Los nombres deben tener entre 1 y 32 caracteres alfanuméricos en minúsculas y no pueden coincidir con comandos reservados del sistema (como so, raid, ban, uptime, commands, addcom, etc.) ni con alias que ya pertenezcan a otro comando de tu canal.
¿Por qué me dice que la vista previa de importación venció?
Las previsualizaciones de importación se almacenan en una memoria temporal de alta velocidad que vence a los 30 minutos por seguridad y para liberar recursos. Si no confirmaste la importación dentro de esa ventana de tiempo, solo tenés que iniciar el proceso nuevamente desde la app.
¿Por qué no se importó tal comando de Nightbot o StreamElements?
Por razones de seguridad estricta y estabilidad del servidor, el importador no admite comandos que intenten realizar peticiones web externas mediante $(urlfetch), $(customapi) o evaluar código arbitrario con $(eval). Tampoco se importan palabras clave o expresiones regulares de StreamElements, ni timers configurados exclusivamente para funcionar cuando el canal está offline.
14. Soporte
¿Tenés alguna consulta puntual o encontraste algún comportamiento inesperado con el bot?
Estamos para ayudarte
Nuestro equipo de soporte revisa consultas a diario. Escribinos directamente por correo y te damos una mano con la configuración de tu canal.
soporte@ustreamers.app