Cenários de automação

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

Automação → Cenários liga um evento a uma cadeia de ações: um espectador resgata uma recompensa e o OBS muda de cena, um som toca e o bot escreve uma linha no chat. A própria descrição da página diz assim: «Configurar regras de reação para recompensas e temporizadores do Twitch».

Um cenário é feito de três coisas, e vale a pena não misturá-las:

Como montar um cenário

1. Crie o cenário

Criar Cenário no cabeçalho. Uma página vazia diz «Nenhum cenário encontrado. Crie seu primeiro cenário acima.» Preencha Nome do Cenário e escolha um Grupo — Sem Grupo é uma resposta válida, e [ Criar novo grupo... ] cria um ali mesmo.

2. Adicione um acionador

Acionadores é a lista de formas de entrar, e a página explica por que é uma lista e não um só: «Qualquer um destes inicia a mesma cadeia de passos. Adicione um segundo em vez de copiar o cenário.» + Acionador abre Adicionar Acionador, e Tipo de Acionador oferece catorze:

AcionadorO que pede
Recompensa do Canaluma recompensa em -- Escolher Recompensa --, agrupadas por Twitch e Kick, cada uma com seu custo. -- Inserir ID manualmente -- aceita um identificador
Botão do Painelum Slot do Botão do Painel — um dos botões do bloco Painel: Botões do Painel de Controle
Doaçãouma Condição de valor e quais serviços contam
AssinaturaQuais assinaturas — Qualquer assinatura, Apenas novas, Apenas renovações
Assinaturas oferecidasMínimo de assinaturas oferecidas de uma vez
RaidMínimo de espectadores na raid
Bits (cheer)Mínimo de bits
Novo seguidornada
Stream iniciadonada
Stream terminadonada
O temporizador chegou a zeroQual temporizador: uma das suas contagens regressivas ou Qualquer temporizador
Frase de vozFrases, uma por linha; Como comparar — A frase é dita em algum lugar da sentença, A sentença é exatamente a frase ou Expressão regular
Mensagem no chatComandos e palavras, um por linha; Como comparar — Comando: a primeira palavra da mensagem, A mensagem começa com a frase, Palavra em qualquer parte da mensagem; e Quem pode iniciar — Qualquer espectador, Inscritos e acima, Moderadores e você, Somente você
Recompensa integrada da Twitchqual compra: qualquer uma, Destacar minha mensagem, Enviar mensagem no modo só para inscritos, Emote gigante, Efeito de mensagem

Nos três mínimos, zero significa qualquer. Stream iniciado e Stream terminado dizem isso sozinhos: «Ativa uma vez quando o estado do stream muda. Não há nada para configurar.»

O temporizador chegou a zero escuta as contagens regressivas de Widgets → Temporizadores, e o texto de ajuda embaixo dele explica como: «Os temporizadores são configurados em Widgets → Temporizadores. Uma contagem regressiva que continua abaixo de zero dispara uma vez, quando passa pelo zero.» Só aparecem contagens regressivas: um temporizador que conta para cima nunca chega a zero. Um temporizador desligado não dispara o cenário, e um zero alcançado enquanto o aplicativo estava fechado também não dispara quando o aplicativo volta a funcionar.

Mensagem no chat funciona em todos os chats conectados de uma vez, e as três formas de comparar diferem mais do que parece. Comando lê só a primeira palavra, então «!luz» pega também «!luz vermelha»; o ponto de exclamação é opcional no que você escreve, mas se você escrever, um «luz» solto no meio da conversa deixa de contar. Palavra em qualquer parte da mensagem significa a palavra inteira: «oi» não combina com «oito». As respostas do seu próprio bot nunca iniciam um cenário, então uma cadeia que escreve no chat não consegue se alimentar sozinha.

Frase de voz é comparada pelo próprio aplicativo, não pela IA: não precisa do nome do bot antes da frase e não gasta créditos. Ela ouve o que o reconhecimento de voz ouvir (Voz → Reconhecimento de voz). Com Quando ouvir em Sempre, uma frase que aparece numa conversa comum também inicia o cenário, então escolha palavras que você não diria por acaso, ou use A sentença é exatamente a frase. Com Segurar uma tecla, o microfone só ouve enquanto a tecla está pressionada, e o que você diz nesse momento também vai para o assistente, e essa é a parte que custa créditos. Com Sempre, uma sentença que começa com o nome de Como você chama o bot também vai para o assistente, e com esse nome vazio vai cada sentença; o guia «Reconhecimento de voz» explica os dois modos.

Concluído coloca o acionador na lista, onde um já salvo pode ser reaberto ou removido.

Na mesma janela ficam duas proteções, e as duas começam desligadas. No máximo uma vez a cada, segundos é a pausa entre execuções: «Zero significa sem limite: cada evento roda o cenário. Um ataque de bots manda centenas de seguidores por minuto, e sem pausa cada um escreve no chat, fala e corta um clipe.» Uma vez por espectador é a outra metade, com uma lista ao lado: por hora quer dizer que a mesma pessoa não consegue disparar de novo dentro da hora, por stream quer dizer uma vez só até a próxima transmissão começar. Cenários antigos continuam em por hora. A memória por stream recomeça quando Estado da Transmissão avisa de uma transmissão nova, e quando o aplicativo reinicia.

A pausa aparece nas entradas que uma multidão pode empurrar: um novo seguidor, uma assinatura, assinaturas oferecidas, uma raid, bits, uma compra integrada da Twitch e uma mensagem no chat. Uma vez por espectador só é oferecida para Novo seguidor e Mensagem no chat: os dois são grátis e fáceis de repetir, enquanto uma assinatura ou bits repetidos são um segundo pagamento, e isso não é bloqueado. Uma recompensa, um botão do painel, as bordas da transmissão, um temporizador chegando a zero e uma frase falada não mostram nenhuma das duas proteções: ali não há tempestade a temer. Um acionador Mensagem no chat novo já abre com cinco segundos na pausa, porque os espectadores repetem comandos; um cenário escrito antes de elas existirem se comporta exatamente como antes.

Uma lista de recompensas vazia diz «Nenhuma recompensa encontrada. Conecte-se ao Twitch ou verifique seu Painel do Twitch.»

3. A doação tem dois filtros

Condição de valor é Qualquer doação, A partir deste valor, Exatamente este valor ou Entre dois valores, com Valor e Até logo abaixo.

Contar doações de lista seus conectores de doação como caixas de seleção: «Plataformas não marcadas são ignoradas por este cenário. Um conector de doação recém-instalado conta imediatamente.»

Os valores são comparados na sua moeda base (Configurações → Localização), e uma doação que não pôde ser convertida não dispara o cenário de jeito nenhum. É por isso também que Exatamente este valor é uma armadilha para tudo que chega em outra moeda, e a página avisa com todas as letras: «Uma correspondência exata só funciona para doações já na sua moeda base: após a conversão, o valor resulta em frações de uma unidade e praticamente nunca coincide.»

4. Monte a cadeia

Cadeia de Passos é o que vai acontecer. Vazia, diz «Ainda não há passos. Adicione uma ação ou um atraso.»

Um Atraso também decide o que um segundo disparo faz enquanto a cadeia ainda espera. Uma cadeia que liga alguma coisa e depois desliga é prolongada: o prazo anda pela duração do atraso e as ações não rodam de novo — comprar o efeito duas vezes compra o dobro do tempo, enquanto repetir o interruptor teria desligado ele. Já uma cadeia que fala ou escreve o que o disparo trouxe — {message}, {user} — roda uma vez por disparo: três resgates em cinco segundos são três execuções separadas, então a mensagem de ninguém se perde. Não há nada para configurar aqui: o app decide pelo que os passos fazem.

Uma cadeia que faz som fica com o som do app até terminar o seu último passo sonoro. É isso que faz uma pausa antes da fala valer alguma coisa. «Esperar 6 segundos e depois falar em voz alta» segura o som durante toda a leitura, então três resgates seguidos são lidos um depois do outro com seis segundos de silêncio entre eles, em vez de contarem os três juntos e chegarem colados. Uma cadeia cujo som vem primeiro («tocar um som, esperar 30 segundos, esconder o filtro») solta assim que o som acaba: meio minuto de efeito não segura ninguém. Uma cadeia sem passo sonoro não espera nada, então trocar de cena nunca fica atrás da fala de outro.

Uma pausa corre mesmo quando o app não consegue anotar ela. A contagem começa antes de salvar a cadeia pausada, então um salvamento lento ou que falhou não engole mais o resto da cadeia. O que se perde nesse caso é só sobreviver a um reinício do app: a pausa chega do mesmo jeito ao fim e a cadeia segue.

OBS — precisa da conexão com o OBS, e as listas são preenchidas a partir dele:

strAImer — tudo o que o aplicativo faz por conta própria:

Abaixo de Texto e de Dados ficam os botões {user}, {amount}, {reward}, {message} e {args}: «Clique em um nome abaixo para inserir. Ele é substituído pelo que acionou o cenário; um nome desconhecido fica como está.» {args} pertence ao acionador de chat — é o texto depois do comando, então «!pedido pizza» dá «pizza». Aspas e quebras de linha no que o espectador escreveu são escapadas no caminho para o JSON, então os dados continuam válidos.

5. Ordem e salvamento

Os passos rodam de cima para baixo. Cada linha tem as setas Para cima e Para baixo, além de Editar e Excluir. Salvar grava o cenário.

O cartão na lista passa então a mostrar uma etiqueta por acionador, a cadeia inteira e o número de passos. Ao lado: a chave liga/desliga, Executar teste, Duplicar (a cópia abre para edição na hora, com « (cópia)» no nome), Editar e Excluir, que pergunta «Excluir este cenário?»

Grupos, e deixar o OBS chavear

Um grupo é uma pasta que também pode ser um interruptor. Criar Grupo no cabeçalho cria um; dê um Nome do Grupo, e os cenários entram pelo campo Grupo. Um grupo vazio diz «Ainda não há cenários neste grupo.»

Controle automático

Controle automático faz o grupo seguir um Tipo de Condição:

Os três primeiros pedem Selecionar Cena OBS e Selecionar Fonte OBS, e cada um se explica abaixo do seletor — por exemplo, «A condição é válida enquanto a cena selecionada estiver ao vivo.»

O que a condição controla é a lista logo abaixo: «Enquanto a condição se mantiver, tudo listado aqui está ligado; quando deixar de se manter, fica desligado.» A primeira linha fica travada e sempre presente: «Os cenários neste grupo não são acionados enquanto a condição não for cumprida.» + Adicionar acrescenta Recompensas de pontos do canal Twitch, uma lista das suas recompensas com caixas de seleção, e Remover tira a entrada.

Por que algumas recompensas ficam cinza

Uma recompensa que você criou à mão no site do Twitch aparece cinza, marcada «criado fora do strAImer», e não dá para marcar. O Twitch só deixa um aplicativo chavear as recompensas que ele mesmo criou, então uma dessas seria recusada toda vez — e o grupo se declararia ligado enquanto no Twitch nada mudou.

Para automatizar uma, recrie-a como recompensa gerenciada em Automação → Recompensas do Canal; o guia «Gestor de Recompensas do Canal» cobre essa página. Uma que já está marcada ainda pode ser desmarcada, então um ajuste antigo nunca fica preso.

A espera de três segundos

Uma condição que muda não chaveia o grupo na hora: o novo estado precisa se manter por três segundos primeiro. Uma fonte que pisca e apaga de novo dentro desses três segundos não muda nada — o chaveamento pendente é descartado e o grupo continua como estava.

Isso é proposital. Uma fonte que ninguém teve tempo de ver na transmissão não é motivo para abrir as recompensas, e chavear um grupo significa uma escrita no Twitch para cada recompensa dele, então uma fonte piscando chegava a disparar dezenas seguidas.

A espera vale só para o que vem do OBS. Ligar ou desligar o Controle automático, apertar Salvar, o leilão abrir ou fechar os pontos do canal, e o OBS perder a conexão fazem efeito imediatamente.

O grupo na lista

O cabeçalho de um grupo traz a caixa auto, a chave do grupo, Configurações de Condição e Excluir; clicar no cabeçalho recolhe o grupo. Excluir pergunta antes e tranquiliza: «Excluir grupo "{name}"? Todos os cenários aninhados serão movidos com segurança para a seção "Sem Grupo".»

O que não pode fazer