Botões do Telegram para chatbots

circle-info

Recomendamos que você leia o artigo Botão.

Você pode usar tanto botões de resposta (botões normais ou de teclado) quanto botões Inline (botões no texto) no Telegram.

circle-info

Importante: limitações dos botões

Esteja ciente das seguintes restrições da plataforma ao criar botões:

  • Botões de resposta (teclado): máximo de 12 botões por linha.

  • Botões inline: Máximo de 8 botões por linha.

  • Texto do botão: Limitado a 32 caracteres.

  • Cor do botão: não pode ser personalizado. Os botões usam o estilo padrão da plataforma.

Como criar um botão no bloco

Para criar qualquer botão em um chatbot, vá às configurações do bloco e clique em "Botões" :

Em seguida, as configurações para adicionar e editar o botão serão abertas. Depois, clique em Adicionar:

Uma janela de configurações será aberta, permitindo que você defina o rótulo do botão, a ação e opções adicionais.

Os seguintes tipos de botões estão disponíveis apenas para o bot do Telegram:

  • Botão de compartilhamento – permite que os usuários compartilhem conteúdo.

  • Botão de retorno de chamada – envia uma consulta de callback silenciosa para o seu bot.

  • Telegram WebApp – abre uma miniaplicação (por exemplo, um widget ou site) dentro do Telegram.

  • Login do Telegram – autoriza os usuários por meio da conta do Telegram.

Também há outros botões disponíveis no Telegram, como pagamento, solicitação de número de telefone ou geolocalização, e envio de link.

Botão de compartilhamento

Ao criar o botão, selecione "Compartilhar (somente Telegram)" e preencha os campos (campo adicional de texto opcional):

Este botão permite encaminhar as informações selecionando um contato da sua lista.

Insira a URL que você deseja compartilhar no "Link para compartilhar" .

do botão. "Link para compartilhar" e "Texto adicional" Depois que um contato for selecionado, o conteúdo dos campos será enviado. Use isso para compartilhar links de publicações de canais do Telegram e outros conteúdos.

circle-info

Atenção! Pode não funcionar corretamente em alguns dispositivos iOS.

Botão de login do site

Para que o botão de login funcione, seu bot deve primeiro ser autorizado para o domínio de destino. Essa configuração é feita por meio de @BotFather.

Passos para configurar:

  1. Abra uma conversa com @BotFatherarrow-up-right.

  2. Selecione seu bot na lista.

  3. Escolha Configurações do Bot > Domínio e adicione o domínio do seu site.

Em seguida, vá para a Domínio botão:

Observação: O botão exibirá Editar domínio se já existir um domínio, ou Definir domínio se for necessário adicionar um.

Você será solicitado a configurar o domínio do seu bot:

Formato correto do domínio:

Insira seu domínio como mavibot.ai ou como seudominio.com se você tiver um site conectado ao MaviBot.

Próximo passo:

Depois que seu domínio for verificado e configurado, você pode prosseguir para criar o botão de autorização.

Na Texto campo, insira o rótulo que aparecerá no botão.

Em seguida, forneça a URL da página no campo Link onde a autorização acontecerá.

Os campos restantes serão necessários se um bot separado for usado para autorização (você precisa obter permissão para enviar mensagens para esse bot): em particular, você precisará especificar o nome do bot.

Se você precisar conseguir enviar mensagens do bot especificado, então marque a caixa "Solicitar permissão do usuário para enviar mensagens do bot":

Botão de login do Telegram

Botão de retorno de chamada

O botão de callback é um botão de retorno em que o cliente vê uma coisa, e no bot recebemos o callback que precisamos para iniciar qualquer bloco do funil.

É bem simples criá-lo: no campo Botões clique no botão Adicionar Na janela que abrir, digite o texto, especifique o tipo - Botão de Callback (Telegram) e insira o Texto do callback que deve ser retornado quando você clicar no botão:

Visualmente, o botão se parece com um botão inline comum:

Depois de clicar no botão, você verá o Callback configurado no cartão do cliente:

circle-info

É importante!

O Telegram não suporta botões de teclado com Callback.

circle-info

Por favor, observe!

Se o tipo de botão "Callback" é selecionado, o botão será exibido como callback somente se o texto do botão for diferente do texto do callback.

Botão de Aplicativo Web do Telegram

Este botão permite abrir o site como um aplicativo web no Telegram.

Ao adicionar o botão, especifique seu rótulo, selecione o tipo de botão Telegram Web App e forneça o link para o site que será aberto como aplicativo web:

  • Você pode especificar um link por meio de uma variável:

Usar uma variável para um link é muito prático quando a página de destino ou o endereço do site muda com frequência.

Como funciona:

  1. Defina uma variável (por exemplo, landing_page_url) nas configurações do seu projeto.

  2. Faça referência a essa variável (por exemplo, #{landing_page_url}) em todos os botões Web App em seus fluxos.

Benefício: em vez de atualizar manualmente a URL em cada bloco de botão individual, você só precisa alterar o valor da variável uma vez nas configurações do projeto, e todos os botões serão atualizados automaticamente.

Alternativa: você pode, é claro, ainda especificar uma URL direta e estática diretamente nas configurações do botão.

Como criar botões para funções da API do Telegram

Embora trabalhar diretamente com a API do Telegram Bot possa ser desafiador, especialmente para iniciantes, o MaviBot oferece uma alternativa muito mais acessível.

Método: use código gerado

Você pode utilizar o código de botão pré-gerado nas configurações avançadas, eliminando a necessidade de escrever chamadas de API manualmente.

Passos:

  1. Navegue até as configurações do seu bloco e abra o Botões seção.

  2. Use a interface para adicionar e configurar todos os botões necessários (texto, links, funções).

  3. O sistema gerará automaticamente o código correto da API do Telegram em segundo plano.

Essa abordagem permite criar teclados complexos visualmente, enquanto a plataforma cuida da implementação técnica subjacente.

Clique "Configurações Avançadas" para ver o código gerado da API do Telegram para seus botões.

Teste seus botões e, em seguida, copie o código gerado de Configurações Avançadas para uma variável como buttons.

Esta função envia uma mensagem via API do Telegram com os seguintes parâmetros: tg_send_message (platform_id, text,client_message_id, reply_markup, sparse_mode, disable_web_page_preview, protect_content, disable_notification, message_thread_id, entities):

Passe a variável dos botões para a função no parâmetro reply_markup:

Seus botões aparecerão no chat com o layout e o estilo que você definiu.

Como excluir botões de resposta

Embora os botões de teclado normalmente desapareçam automaticamente, às vezes eles podem permanecer visíveis.

Para limpar à força os botões de resposta que permanecerem, insira o seguinte código no Configurações Avançadas “Broadcast para clientes dos blocos”

Essa configuração vazia de botões instrui o Telegram a ocultar o teclado personalizado.

Botões de menu de teclado no Telegram

circle-exclamation

Botões de teclado

Para poder usar os botões de teclado (resposta) como um menu permanente do Telegram, basta atribuir qualquer valor à variável tg_permanent_reply_buttons (a variável é declarada como uma constante do projeto).

Variável: tg_permanent_reply_buttons

Definir a variável tg_permanent_reply_buttons lhe dá controle manual total sobre a visibilidade do teclado de resposta (botões abaixo da mensagem). Todo o comportamento de ocultação automática da plataforma é desativado.

Escopo: esta configuração se aplica a todos os botões de resposta criados no bot enquanto a variável estiver ativa.

Revertendo para o comportamento automático

Para restaurar a ocultação automática padrão do teclado:

  1. Remova a variável tg_permanent_reply_buttons das configurações do seu projeto.

  2. Recrie quaisquer botões de resposta que foram criados originalmente enquanto a variável estava ativa. Botões criados sob a regra "permanente" mantêm esse estado e precisam ser recriados para herdar o novo comportamento automático.

Como criar um menu no Telegram

Quem criou o bot do Telegram pode fazer esse menu.

Para isso, escreva para Botfatherarrow-up-right no Telegram.

Digite o comando /mybots, e a lista dos seus bots será aberta. Escolha o que você precisa. Um menu será aberto para você. Aqui você precisa selecionar Editar Bot, e depois Editar Comandos.

Digite todos os comandos e suas descrições em uma única mensagem, usando letras minúsculas para os nomes dos comandos. Você receberá uma confirmação quando a lista for atualizada.

Agora você pode ver e usar o menu na sua conversa do Telegram com o bot.

Ao clicar no botão de menu, uma lista de comandos que foram registrados anteriormente no BotFather será aberta:

Em seguida, vá para o Mavibot, abra o projeto ao qual esse bot do Telegram está conectado.

Crie os Start ou Gatilho blocos, escreva comandos nas condições e no campo "Texto da mensagem" — os textos que serão recebidos como resposta.

Exemplo:

Como combinar dois tipos de botões

Crie um bloco com um botão de resposta (teclado), que você precisa visualizar.

Crie o próximo bloco (um temporizador de 0 segundos) com botões inline (botões no texto), que devem ser inseridos sem remover os botões de resposta. Por exemplo: [{"type": "inline", "text": "NOME DO BOTÃO", "line": 0, "index_in_line": 0}]

Aqui está o resultado:

circle-check

Atualizado