Comandos Personalizados
- cómo añado un comando de chat
- cómo hago que el bot ponga el nombre del espectador en la respuesta
- cómo hago que un comando dé una respuesta aleatoria
- cómo permito que solo los moderadores usen un comando
- cómo desactivo un comando sin borrarlo
- quiero que un comando responda a varias palabras diferentes
- cómo hago que un comando funcione solo en un juego determinado
- quiero que el comando de reglas de subasta responda solo durante la subasta
- cómo pongo mi enlace de Discord en un comando sin tener que escribirlo en todas partes
- el bot no responde a mi comando !discord
- mi comando respondió una vez y después se quedó callado
- cómo hago un comando !uptime
- de dónde salió el comando !commands y por qué el bot responde a !help
Viene con strAImer: este módulo se instala junto con la aplicación, así que no hay nada que descargar. Aparece en Catálogo de Módulos → Integrados.
Qué es esta página
Bot de Chat → Comandos de Chat es donde viven los comandos de texto personalizados; la página en sí se titula Comandos Personalizados, "Gestiona comandos de texto personalizados para el chat". Un comando es una palabra que activa lo que el chat escribe y una respuesta que el bot devuelve, con variables sustituidas en ella.
Un comando funciona sin importar dónde lo escribas: en el chat de la plataforma, en el chat del Panel de control o en el cuadro de mensaje de la aplicación. Solo cuenta un comando real: tus mensajes normales nunca activan al bot, así que no puede terminar hablando solo.
Cómo configurarlo
La página tiene dos pestañas, Comandos y Variables, cada una con su cuenta entre paréntesis. El botón en la parte superior derecha sigue la pestaña en la que estás — Añadir Comando o Añadir Variable.
Una instalación nueva no está vacía: el módulo trae un comando listo para que lo veas funcionar. Se llama commands, responde a !commands, !help y !cmds, y contesta "Commands: {commands}", la lista de todos tus comandos, con un tiempo de espera de 15 segundos para todos. Edítalo o elimínalo como cualquier otro; una vez eliminado, no vuelve.
Un comando
- Abre Bot de Chat → Comandos de Chat, quédate en la pestaña Comandos y presiona Añadir Comando. El formulario se titula Crear Comando.
- Nombre del comando (para ti) — un título que reconocerás en la lista, y los espacios están permitidos: "Mi servidor de Discord". Las mayúsculas se mantienen como se escriben. Un nombre de una sola palabra funciona también como activador en el chat; un nombre con espacios no se puede escribir, por lo que dicho comando necesita al menos un activador y guardar sin uno se rechaza.
- Palabras que activan (separadas por comas) — las palabras que disparan el comando, el marcador de posición muestra el formato:
discord, ds. El primero es el principal — es lo que muestra la lista{commands}— mientras que el comando responde a todos ellos. Se escriben sin!y separados por comas. Las mayúsculas también se mantienen aquí. - Modo de Activación — El mensaje comienza con !comando, o Palabra en cualquier parte del mensaje. El segundo se marca en la tarjeta con una etiqueta palabra clave.
- Respuesta del Comando — lo que el bot escribe, por ejemplo, "¡Únete a nuestro servidor, {user}!". Debajo del campo dice "Haz clic en una variable para insertarla en la respuesta:" y una fila de chips —
{user},{target},{args},{count},{random:1-100},{choose:a|b|c},{randuser},{channel},{commands},{auction_rules},{time},{date},{math:},{repeat:3:}. Un clic suelta uno en el cursor. Tres pestañas están arriba de la fila — Integrados, Tuyos y Base de conocimiento — así que tus propias variables y tus enlaces de referencia también están a un clic. - Tiempo de Espera (seg) comienza en 10, Tiempo de Espera por Usuario (seg) en 0. Debajo de ellos está la casilla Moderadores y streamer omiten el tiempo de espera.
- Roles Permitidos — Todos, Suscriptor, VIP, Moderador, Creador/a de contenido. Todos están marcados en un comando nuevo, y no marcar ninguno también guarda como Todos.
- Responder solo cuando — una condición, Siempre por defecto. La sección siguiente lo explica.
- Presiona Guardar, o Cancelar. Sin un nombre y una respuesta, el formulario responde "¡Completa el nombre del comando y la respuesta!" y permanece abierto.
- Una tarjeta se encabeza solo con el nombre del comando, con la etiqueta de roles al lado y una etiqueta de condición cuando hay una. La línea debajo contiene los alias, en color y con su
!, seguidos de la respuesta; luego vienen el tiempo de espera, el tiempo de espera por usuario y cuántas veces se ha disparado. La línea muestra todas las palabras a las que responde el comando: las tuyas más el propio nombre cuando es una sola palabra; una repetición se muestra una vez. El interruptor desactiva el comando sin borrarlo; al lado están Editar y Eliminar, y eliminar pregunta "¿Eliminar este comando?".
Una variable tuya
- Cambia a la pestaña Variables y presiona Añadir Variable — el formulario es Crear Variable.
- Nombre de la Variable — solo letras, dígitos y
_; el campo convierte a minúsculas lo que escribes y elimina el resto. La pista debajo muestra el resultado: "Se usa en respuestas como {name}". - Valores (uno por línea) — el marcador de posición muestra tres líneas, pizza, sushi, burger. "Se inserta un valor aleatorio de la lista cuando se activa el comando".
- Presiona Guardar. Un nombre repetido se rechaza con "¡Ya existe una variable con este nombre!", un formulario incompleto con "¡Proporciona un nombre y al menos un valor!".
- La tarjeta muestra
{name}, cuántos valores contiene y los valores mismos. Editar vuelve a abrir el formulario como Editar Variable con el nombre y los valores actuales ya rellenados, así que los valores se corrigen en lugar de volver a escribirse. Eliminar advierte primero: "¿Eliminar esta variable? Los comandos que la usen dejarán de sustituirla."
Responder solo a veces
Responder solo cuando contiene una condición, y Siempre — sin condición — es lo que obtiene un comando nuevo.
- Esté jugando uno de estos juegos — aparece un campo Juegos (separados por comas). Parte de un nombre es suficiente y las mayúsculas no importan, así que
gtacoincide con "GTA V" y "GTA Online". Las plataformas escriben el mismo juego de manera diferente, así que lista cada escritura —GTA, Grand Theft Auto— y que cualquiera de ellas coincida es suficiente. La categoría se lee de cada plataforma que está en vivo en este momento. - Hay una subasta en curso — mientras el módulo de subasta tiene una subasta en vivo, pausada o bloqueada.
- La transmisión está en vivo / La transmisión está fuera de línea — el estado de la transmisión como lo reporta el módulo Estado de la Transmisión.
Responder cuando no se cumpla la condición es la segunda respuesta. Toma las mismas variables y enlaces de referencia — y su propia fila de chips, así que un clic allí cae en ese campo y no en el de arriba. "¡No hay subasta ahora — la próxima es el viernes!" es una respuesta completa. Déjalo vacío y el comando no dice nada en absoluto; un comando silencioso no gasta su tiempo de espera, así que el próximo espectador que pregunte en el momento adecuado aún obtiene una respuesta.
Guardar una condición de juego con un campo de juegos vacío se rechaza: la condición nunca coincidiría y el comando estaría silencioso para siempre.
Enlaces de referencia y reglas de subasta
Dos cosas más se pueden soltar en una respuesta y se guardan en un lugar en lugar de reescribirse.
{discord},{boosty}y cualquier otro nombre de Base de conocimiento en la barra lateral. Cambia el enlace allí y cada comando lo sigue. Los nombres que no conoce se dejan como están,{discord}, así que un error tipográfico es visible en lugar de silencioso. La pestaña de chip Base de conocimiento debajo del campo de respuesta los lista todos — no hay nada que memorizar.{auction_rules}— la descripción escrita en la configuración de la subasta, el mismo texto que ven los espectadores.
Las llaves son simples, como cualquier otra variable. Las llaves dobles {{...}} aún funcionan — esa era la escritura anterior, y los textos antiguos siguen funcionando. Las variables integradas se leen primero, así que una referencia llamada time no ocultará la variable {time}; solo evita nombrar enlaces como variables.
La referencia
Referencia de Variables en la parte superior abre Variables Disponibles — cada variable integrada con su significado y un ejemplo práctico: {display_name}, {user.id}, {touser}, {args:0|default}, {count+10}, {channel} y el resto, con las tuyas al final de la lista.
Por qué un comando no responde
Un comando que se queda callado deja una línea con [Skipped] en la Consola de Registros del Sistema, en la parte inferior de la ventana de la aplicación. Esa misma línea dice el motivo entre corchetes:
[NoMatch]: ningún comando responde a esa palabra. Revisa cómo está escrito el activador y que el interruptor del comando esté encendido: un comando apagado cuenta como inexistente. Solo se registran las palabras escritas con!; un comando con Palabra en cualquier parte del mensaje no deja ninguna línea cuando no coincide.[Cooldown]: el comando respondió hace menos de Tiempo de Espera (seg), 10 segundos en un comando nuevo, o ese espectador sigue bajo Tiempo de Espera por Usuario (seg). El tiempo de espera también cuenta para ti, así que si escribes el mismo comando dos veces seguidas para probarlo, recibes una sola respuesta. Marca Moderadores y streamer omiten el tiempo de espera para probar con libertad.[Permission]: el autor no tiene ninguno de los Roles Permitidos. Los roles más altos incluyen a los más bajos: un moderador puede usar un comando de VIP o de suscriptor, y tú puedes usarlos todos.[Condition]: Responder solo cuando no se cumple y Responder cuando no se cumpla la condición está vacío. Un comando configurado con La transmisión está en vivo se queda callado fuera del aire.
Si un comando con ! no deja ninguna línea, el mensaje nunca llegó a la aplicación: la plataforma no está conectada en Conexiones → Canales, o el módulo está apagado. Una línea con [Success] sin nada en el chat significa que la plataforma no aceptó la respuesta. En YouTube el motivo habitual es el bot: las respuestas salen desde él, y un bot sin sesión iniciada para el chat no envía nada, con "No bot session" en el registro. Inicia su sesión en Conexiones → Bots.
Qué no puede hacer
{channel}es el canal en el que se escribió el mensaje, así que en una transmisión multiplataforma difiere por chat: tu nombre de Twitch en la respuesta de Twitch, tu nombre de Kick en la de Kick. Cada plataforma lo escribe a su manera — Kick no tiene nombre para mostrar, solo el handle con el que iniciaste sesión — así que no esperes que los tres coincidan exactamente.{randuser}elige entre espectadores que escribieron en ese chat en la última media hora, no de todos los que están viendo: solo Twitch ofrece una lista de personas presentes, e incluso esa está recortada, mientras que YouTube y Kick no ofrecen ninguna. Cada plataforma mantiene su propia lista, así que una respuesta en Twitch nunca etiqueta a un espectador de YouTube. Justo después de iniciar la aplicación la lista está vacía y la variable recurre a la persona que ejecutó el comando; un mensaje en el chat la llena. Los mensajes propios de tu bot están excluidos.- No hay variable para el tiempo en vivo, el juego actual ni el título de la transmisión, así que
!uptime,!gameo!titleno se pueden armar aquí: un nombre desconocido como{uptime}se publica tal cual se escribió. Las variables integradas son exactamente las de Referencia de Variables. El Agente de IA conoce las tres mientras estás en vivo (ver la guía “Agente de IA”). - Un comando responde con texto en el chat. El sonido, las superposiciones y cualquier otra acción no son parte de esta página.
- Los comandos no están dirigidos a una plataforma o a un canal particular: una lista sirve al chat.
- La lista no tiene búsqueda, ni ordenación, ni arrastre para reordenar — las tarjetas permanecen en el orden en que se crearon.
- Una variable personalizada es una lista para elegir una línea al azar. No guarda ningún valor por espectador, ningún contador y ninguna aritmética.
- Los tiempos de espera se cuentan en segundos, por comando y por espectador. No hay límite diario, y la única excepción por rol es la casilla Moderadores y streamer omiten el tiempo de espera.
- Un comando toma una condición, no varias combinadas. No hay condición por hora del día ni por número de espectadores.