Comandos Personalizados

As pessoas perguntam isso como

Vem com o strAImer: este módulo é instalado junto com o aplicativo, então não há nada para baixar. Ele aparece em Catálogo de Módulos → Integrados.

O que é esta página

Chat Bot → Comandos de Chat é onde ficam os comandos de texto personalizados; a própria página tem o cabeçalho Comandos Personalizados, "Gerenciar comandos de texto personalizados para o chat". Um comando é um gatilho que o chat digita e uma resposta que o bot escreve de volta, com variáveis substituídas nela.

Um comando funciona não importa onde você o escreva: no chat da plataforma, no chat do Painel de controle ou na caixa de mensagem do aplicativo. Só vale um comando de verdade — suas mensagens comuns nunca acionam o bot, então ele não acaba conversando sozinho.

Como configurar

A página tem duas abas, Comandos e Variáveis, cada um com a sua contagem entre parênteses. O botão no canto superior direito segue a aba em que está — Adicionar Comando ou Adicionar Variável.

Uma instalação nova não vem vazia: o módulo coloca um comando pronto para você ver o funcionamento. Ele se chama commands, responde a !commands, !help e !cmds, e escreve "Commands: {commands}", a lista de todos os seus comandos, com um tempo de espera de 15 segundos para todos. Edite ou exclua como qualquer outro; depois de excluído, ele não volta.

Um comando

  1. Abra Chat Bot → Comandos de Chat, mantenha-se na aba Comandos e pressione Adicionar Comando. O formulário tem o título Criar Comando.
  2. Nome do comando (para você) — um título que reconhecerá na lista, e espaços são permitidos: "Meu servidor do Discord". As maiúsculas são mantidas como digitadas. Um nome de uma palavra serve também como gatilho no chat; um nome com espaços não pode ser digitado, por isso tal comando precisa de pelo menos um gatilho e salvar sem um é recusado.
  3. Gatilhos que os espectadores digitam (separados por vírgula) — as palavras que disparam o comando, o marcador de posição mostra o formato: discord, ds. O primeiro é o principal — é o que a lista {commands} mostra — enquanto o comando responde a todos eles. Escrevem-se sem ! e separados por vírgulas. As maiúsculas também são mantidas aqui.
  4. Modo de Ativação — A mensagem começa com !comando, ou Palavra em qualquer lugar da mensagem. O segundo é marcado no cartão com um distintivo palavra-chave.
  5. Resposta do Comando — o que o bot escreve, por exemplo "Junte-se ao nosso servidor, {user}!". Por baixo do campo está "Clique em uma variável para inseri-la na resposta:" e uma linha de chips — {user}, {target}, {args}, {count}, {random:1-100}, {choose:a|b|c}, {randuser}, {channel}, {commands}, {auction_rules}, {time}, {date}, {math:}, {repeat:3:}. Um clique coloca um no cursor. Três abas ficam acima da linha — Integrados, Seus e Base de Conhecimento — para que as suas próprias variáveis e os seus links de referência também estejam a um clique.
  6. Tempo de Espera (seg) começa em 10, Tempo de Espera por Usuário (seg) em 0. Por baixo deles está a marca Moderadores e streamer ignoram o tempo de espera.
  7. Funções Permitidas — Todos, Assinante, VIP, Moderador, Transmissor. Todos estão marcados em um novo comando, e não marcar nenhuma também salva como Todos.
  8. Responder apenas quando — uma condição, Sempre por padrão. A seção abaixo a explica.
  9. Pressione Salvar, ou Cancelar. Sem um nome e uma resposta o formulário responde "Preencha o nome do comando e a resposta!" e permanece aberto.
  10. Um cartão tem como cabeçalho apenas o nome do comando, com o distintivo das funções ao lado e um distintivo de condição quando há uma. A linha por baixo contém os aliases, coloridos e com o seu !, seguidos da resposta; depois vêm o tempo de espera, o tempo de espera por usuário e quantas vezes foi disparado. A linha mostra todos os gatilhos aos quais o comando responde: os seus mais o próprio nome quando ele é uma palavra só; uma repetição aparece uma vez. O interruptor desliga o comando sem excluí-lo; ao lado estão Editar e Excluir, e excluir pergunta "Excluir este comando?".

Uma variável sua

  1. Mude para a aba Variáveis e pressione Adicionar Variável — o formulário é Criar Variável.
  2. Nome da Variável — apenas letras, dígitos e _; o campo converte para minúsculas o que digita e remove o resto. A dica por baixo mostra o resultado: "Usado nas respostas como {nome}".
  3. Valores (um por linha) — o marcador de posição mostra três linhas, pizza, sushi, hambúrguer. "Um valor aleatório da lista é inserido quando o comando é ativado".
  4. Pressione Salvar. Um nome repetido é recusado com "Já existe uma variável com este nome!", um formulário incompleto com "Forneça um nome e pelo menos um valor!".
  5. O cartão mostra {nome}, quantos valores contém e os próprios valores. Editar reabre o formulário como Editar Variável com o nome e os valores atuais preenchidos, para que os valores sejam corrigidos em vez de digitados novamente. Excluir avisa primeiro: "Excluir esta variável? Os comandos que a utilizam deixarão de substituí-la."

Responder apenas às vezes

Responder apenas quando contém uma condição, e Sempre — sem condição — é o que um novo comando obtém.

Responder quando a condição não se verificar é a segunda resposta. Usa as mesmas variáveis e links de referência — e a sua própria linha de chips, por isso um clique aí cai nesse campo e não no de cima. "Nenhum leilão no momento — o próximo é na sexta!" é uma resposta completa. Deixe-a vazia e o comando não diz nada; um comando silencioso não gasta o seu tempo de espera, por isso o próximo espectador que perguntar no momento certo ainda obtém uma resposta.

Salvar uma condição de jogo com o campo de jogos vazio é recusado: a condição nunca corresponderia e o comando ficaria silencioso para sempre.

Links de referência e regras de leilão

Mais duas coisas podem ser colocadas em uma resposta e são mantidas em um só lugar em vez de serem reescritas.

As chaves são simples, como qualquer outra variável. Chaves duplas {{...}} ainda funcionam — essa era a grafia mais antiga, e os textos antigos continuam funcionando. As variáveis integradas são lidas primeiro, por isso uma referência chamada time não irá sobrepor a variável {time}; apenas evite nomear links com nomes de variáveis.

A referência

Referência de Variáveis no topo abre Variáveis Disponíveis — todas as variáveis integradas com o seu significado e um exemplo prático: {display_name}, {user.id}, {touser}, {args:0|default}, {count+10}, {channel} e o resto, com as suas próprias no final da lista.

Por que um comando não responde

Um comando que fica em silêncio deixa uma linha com [Skipped] no Console de Logs do Sistema, na parte de baixo da janela do aplicativo. A mesma linha diz o motivo entre colchetes:

  1. [NoMatch]: nenhum comando responde a essa palavra. Confira a grafia do gatilho e se o interruptor do comando está ligado: um comando desligado conta como inexistente. Só as palavras digitadas com ! vão para o log; um comando Palavra em qualquer lugar da mensagem não deixa linha nenhuma quando não corresponde.
  2. [Cooldown]: o comando respondeu há menos de Tempo de Espera (seg), 10 segundos em um comando novo, ou esse espectador ainda está sob o Tempo de Espera por Usuário (seg). O tempo de espera vale para você também, então digitar o mesmo comando duas vezes seguidas para testar dá uma resposta só. Marque Moderadores e streamer ignoram o tempo de espera para testar à vontade.
  3. [Permission]: o autor não tem nenhuma das Funções Permitidas. As funções mais altas incluem as mais baixas: um moderador passa em um comando de VIP ou de assinante, e você passa em todos.
  4. [Condition]: a condição de Responder apenas quando não foi cumprida e Responder quando a condição não se verificar está vazio. Um comando com A stream está ao vivo fica em silêncio fora do ar.

Nenhuma linha para um comando com ! significa que a mensagem nunca chegou ao aplicativo: a plataforma não está conectada em Conexões → Canais, ou o módulo está desligado. Uma linha com [Success] e nada no chat significa que a plataforma não aceitou a resposta. No YouTube o motivo comum é o bot: as respostas saem por ele, e um bot sem login para o chat não envia nada, com "No bot session" no log. Faça o login dele em Conexões → Bots.

O que não pode fazer