# Variáveis de comando do KickBot

> Todas as variáveis de comando do KickBot com exemplos, de {{sender.followage}} a números aleatórios e requisições de API nas respostas do chat da Kick.

Source: https://kickbot.com/pt/docs/chat-bot/command-variables

Variáveis são marcadores na resposta de um comando. O KickBot coloca o valor atual toda vez que o comando é usado. Por exemplo, uma resposta de `!followage` com `{{sender.followage}}` posta há quanto tempo o espectador segue o seu canal da Kick. As variáveis funcionam em [comandos personalizados](https://kickbot.com/pt/docs/chat-bot/custom-commands) e nas respostas dos [comandos padrão](https://kickbot.com/pt/docs/chat-bot/built-in-commands).

Escreva cada variável com duas chaves de cada lado, exatamente como nesta página. Maiúsculas e minúsculas fazem diferença: `{{sender.username}}` funciona, `{{Sender.Username}}` não.

## Adicionar uma variável a uma resposta

1. Abra um comando na página [Comandos personalizados](https://kickbot.com/dashboard/commands) ou clique em **Adicionar comando**.
2. Abaixo da caixa **Resposta**, use **Inserir uma variável**. Escolha um grupo (**Remetente**, **Streamer**, **Usuário marcado / Parâmetro**, **Stream**, **Aleatório** ou **Requisição de API**).
3. Clique em uma variável. O KickBot coloca a variável onde está o cursor.

A prévia **No chat da Kick** mostra valores de exemplo, para você conferir a resposta antes de salvar.

![O menu Inserir uma variável com o grupo Stream aberto e uma prévia com valores de exemplo de followage, categoria e espectadores](https://kickbot.com/docs/images/chat-bot/command-variables/01-variables.webp "A prévia preenche valores de exemplo. No chat, o KickBot usa os valores reais.")

Os exemplos abaixo usam um espectador chamado KickBotDev em um canal chamado yourchannel.

## Remetente

O espectador que digitou o comando.

| Variável | O que posta | Exemplo |
| --- | --- | --- |
| `{{sender.username}}` | O nome do espectador como no link do canal dele (em minúsculas) | `kickbotdev` |
| `{{sender.followers}}` | Quantos seguidores o canal do próprio espectador tem | `128` |
| `{{sender.followage}}` | Há quanto tempo o espectador segue o seu canal | `4 months 12 days` |
| `{{sender.url}}` | Link do canal da Kick do espectador | `https://kick.com/kickbotdev` |
| `{{sender.bio}}` | A bio do perfil da Kick do espectador | `Streamer de variedades de Recife` |
| `{{sender.instagram}}` | O nome no Instagram que está no perfil da Kick do espectador | `yourhandle` |
| `{{sender.twitter}}` | O nome no X (Twitter) que está no perfil da Kick do espectador | `yourhandle` |
| `{{sender.youtube}}` | O YouTube que está no perfil da Kick do espectador | `yourhandle` |
| `{{sender.discord}}` | O Discord que está no perfil da Kick do espectador | `discord.gg/your-server-code` |
| `{{sender.tiktok}}` | O nome no TikTok que está no perfil da Kick do espectador | `yourhandle` |
| `{{sender.facebook}}` | O nome no Facebook que está no perfil da Kick do espectador | `yourhandle` |

### Followage da Kick

Se o espectador não segue o seu canal, o KickBot posta isto no lugar da sua resposta: `@kickbotdev is not following @yourchannel`.

O comando padrão `!followage` usa esta variável. A resposta dele é `@{{sender.username}} has been following for {{sender.followage}}`, então no chat ela aparece como `@kickbotdev has been following for 4 months 12 days`.

## Streamer

Você, o dono do canal.

| Variável | O que posta | Exemplo |
| --- | --- | --- |
| `{{streamer.username}}` | O nome do seu canal como no link do canal | `yourchannel` |
| `{{streamer.followers}}` | O seu número de seguidores | `2450` |
| `{{streamer.url}}` | Link do seu canal da Kick | `https://kick.com/yourchannel` |
| `{{streamer.bio}}` | A sua bio da Kick | `Live tranquila toda noite` |
| `{{streamer.instagram}}` | O nome no Instagram que está no seu perfil da Kick | `yourhandle` |
| `{{streamer.twitter}}` | O nome no X (Twitter) que está no seu perfil da Kick | `yourhandle` |
| `{{streamer.youtube}}` | O YouTube que está no seu perfil da Kick | `yourhandle` |
| `{{streamer.discord}}` | O Discord que está no seu perfil da Kick | `discord.gg/your-server-code` |
| `{{streamer.tiktok}}` | O nome no TikTok que está no seu perfil da Kick | `yourhandle` |
| `{{streamer.facebook}}` | O nome no Facebook que está no seu perfil da Kick | `yourhandle` |

> **Caution:** As variáveis de perfil (bio, Instagram, X, YouTube, Discord, TikTok, Facebook) leem o perfil da Kick. Se esse campo estiver vazio no perfil, a variável fica na resposta como texto, por exemplo `{{streamer.tiktok}}`. Use essas variáveis só para perfis em que o campo está preenchido.

## Usuário marcado e parâmetro

Um texto ou um nome que o espectador digita depois do comando. Por exemplo, um espectador digita `!so @SomeChannel` ou `!hug @friend`.

| Variável | O que posta | Exemplo para `!so @SomeChannel great stream` |
| --- | --- | --- |
| `{{param}}` | Todo o texto depois do comando | `@SomeChannel great stream` |
| `{{taggedUser.username}}` | O nome depois do primeiro `@` | `SomeChannel` |
| `{{taggedUser.url}}` | Link do canal marcado | `https://kick.com/SomeChannel` |
| `{{taggedUser.followers}}` | Número de seguidores do canal marcado | `57` |
| `{{taggedUser.followage}}` | Há quanto tempo o espectador marcado segue o seu canal | `2 months 3 days` |

O usuário marcado também tem as variáveis de perfil: `{{taggedUser.bio}}`, `{{taggedUser.instagram}}`, `{{taggedUser.twitter}}`, `{{taggedUser.youtube}}`, `{{taggedUser.discord}}`, `{{taggedUser.tiktok}}` e `{{taggedUser.facebook}}`.

Se o espectador não marcar ninguém, `{{taggedUser.username}}` fica vazio. Se o nome marcado não for um canal da Kick, as variáveis de busca (seguidores, bio e os outros campos do perfil) não funcionam, e o KickBot posta `404 tagged user not found` no lugar da resposta.

Exemplo: o comando padrão `!so` (shout-out) tem a resposta `Go check @{{taggedUser.username}}'s channel! {{taggedUser.url}}`.

## Stream

A sua live atual. Estas variáveis funcionam enquanto você está ao vivo.

| Variável | O que posta | Exemplo |
| --- | --- | --- |
| `{{stream.title}}` | O título da sua live | `Live tranquila, chega mais` |
| `{{stream.category}}` | A categoria da sua live | `Just Chatting` |
| `{{stream.viewers}}` | O seu número de espectadores agora | `342` |

Enquanto você está offline, o KickBot não consegue ler a sua live, então um comando com estas variáveis não posta a resposta normal. Ele pode postar `404 stream not found` no lugar.

## Aleatório

Use estas variáveis em jogos e comandos divertidos. Cada vez que o comando é usado, sai um valor novo.

| Variável | O que posta | Exemplo |
| --- | --- | --- |
| `{{randomRange(1,100)}}` | Um número inteiro do primeiro número até o segundo, os dois incluídos | `42` |
| `{{randomItem("pedra","papel","tesoura")}}` | Um item da lista, todos com a mesma chance | `papel` |
| `{{randomItemPercentage("comum":70,"raro":25,"lendário":5)}}` | Um item da lista, com a chance que você der a cada item | `comum` |

Regras:

- `randomRange` recebe dois números inteiros, 0 ou maiores. O primeiro não pode ser maior que o segundo.
- Coloque cada item entre aspas duplas retas (`"`), separados por vírgulas. Os itens podem ter espaços, por exemplo `"Pergunte mais tarde"`.
- Em `randomItemPercentage`, coloque o número logo depois dos dois-pontos, sem espaço. Os números são pesos. Com 70, 25 e 5, o primeiro item sai mais ou menos 70 vezes em 100. `randomItemPercentage` não está no menu **Inserir uma variável**. Digite à mão.

## Requisição de API

`{{request("https://...")}}` pega dados de um endereço da web (API) e coloca na resposta. Use para mostrar uma piada, um rank de jogo ou qualquer outra coisa que uma API pública retorne.

```text
{{request("https://uselessfacts.jsph.pl/api/v2/facts/random").text}}
```

O KickBot abre o endereço, lê a resposta em JSON e posta o campo `text`. Por exemplo: `The praying mantis is the only insect that can turn its head`.

Como funciona:

- **Escolha um campo.** Coloque o caminho depois do parêntese que fecha. Use pontos para os nomes e `[0]` para os itens de uma lista, por exemplo `.data[0].name`. Sem caminho, ou se o caminho não existir na resposta, o KickBot posta a resposta inteira.
- **Use variáveis no endereço.** Por exemplo, `{{request("https://example.com/rank?user={{sender.username}}").rank}}`. O KickBot coloca o valor e adapta para um endereço da web (um espaço vira `%20`). Não é permitido colocar uma requisição dentro de outra.
- **Só requisições GET.** O KickBot não consegue enviar body nem headers. Se a API precisar de uma chave, coloque a chave no endereço como parâmetro de query.
- **Limites.** Só endereços `http` e `https` na internet pública. O KickBot espera até 3 segundos por uma resposta, então use uma API que responda rápido e com uma resposta curta.

> **Caution:** Qualquer pessoa que pode ver as configurações dos seus comandos pode ver uma chave de API no endereço. Use chaves que só leem dados públicos.

## Mais variáveis

Estas variáveis funcionam, mas não estão no menu **Inserir uma variável**.

| Variável | O que posta | Exemplo |
| --- | --- | --- |
| `{{user}}` | O nome do espectador com as letras maiúsculas | `KickBotDev` |
| `{{sender.fullUsername}}` | O nome do espectador com `@` na frente | `@KickBotDev` |
| `{{commands}}` | Todos os comandos ativados, separados por vírgulas | `commands, followage, lurk, me, so, welcome, discord` |

O comando padrão `!commands` usa `{{commands}}`. A resposta dele é `Enabled commands: {{commands}}`.

## Erros comuns

- **Uma chave em vez de duas.** `{sender.username}` fica como texto. Use `{{sender.username}}`.
- **Um nome escrito errado.** Uma variável desconhecida, como `{{sender.name}}`, faz o comando não postar nenhuma resposta. Confira a grafia com esta página.
- **Aspas curvas.** `randomItem` e `request` precisam de aspas retas (`"`). Alguns celulares e editores de texto trocam por aspas curvas (`“ ”`). Para não ter erro, digite as aspas no painel.

## Perguntas frequentes

**Como faço um comando de followage na Kick?**

O KickBot tem um comando padrão `!followage` que já vem ativado em todos os canais. Para criar o seu, adicione um comando com uma resposta como `@{{sender.username}} has followed for {{sender.followage}}`.

**Como mostro o nome do espectador em um comando?**

Use `{{sender.username}}` para o nome como no link do canal, ou `{{user}}` para o nome com as letras maiúsculas. Coloque `@` na frente se quiser que a Kick mostre como menção, por exemplo `@{{sender.username}}`.

**Um comando pode mostrar o meu número de espectadores ou o título da live?**

Sim. Use `{{stream.viewers}}` e `{{stream.title}}`. Elas funcionam enquanto você está ao vivo.
