Botões do Telegram para chatbots
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.
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.
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:
Abra uma conversa com @BotFather.
Selecione seu bot na lista.
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:

É importante!
O Telegram não suporta botões de teclado com Callback.
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:
Defina uma variável (por exemplo,
landing_page_url) nas configurações do seu projeto.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:
Navegue até as configurações do seu bloco e abra o Botões seção.
Use a interface para adicionar e configurar todos os botões necessários (texto, links, funções).
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
Recomendamos usar este recurso apenas para usuários avançados!
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
tg_permanent_reply_buttonsDefinir 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:
Remova a variável
tg_permanent_reply_buttonsdas configurações do seu projeto.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 Botfather 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:

Importante: você deve seguir esta ordem ao adicionar botões no mesmo bloco:
Primeiro, adicione todos os botões de Resposta (teclado).
Depois, adicione quaisquer botões Inline.
Se essa sequência for invertida, os botões de resposta serão removidos quando o próximo bloco de mensagem for enviado.
Atualizado