Seu Bot do Telegram é uma String de Caracteres, e Três Regras Decidem o Que Ele Pode Fazer
O BotFather devolve um token em cerca de um minuto. O que trava a maioria dos primeiros bots não é o código que vem depois: é o modo de privacidade em grupos, uma mensagem por segundo num chat e cerca de trinta por segundo em massa. Todos os três são publicados.
Michael ChenDuas expressões de busca ficam lado a lado sempre que alguém pesquisa isso: o token e o chat id. Essa dupla é o problema do iniciante em miniatura. As pessoas conseguem o primeiro em um minuto e então descobrem que o bot não tem para onde falar.
Então isto não é uma comparação de frameworks. É o que é o token, o que impede o bot depois que você o tem, e os três limites publicados que decidem o formato de qualquer coisa que você construir.
O que o BotFather realmente te dá
Abra um chat com o próprio bot do Telegram para criar bots, envie /newbot, responda duas perguntas. A documentação do Telegram descreve a troca exatamente: ele pede um nome e um username, e então gera um token de autenticação.
Esse token é o bot. É uma string com um prefixo numérico e um segredo longo depois de dois pontos, e as próprias palavras do Telegram para isso são que ele autoriza o bot e é necessário para enviar requisições à API. Não há senha separada, nem conta para logar, nem segunda credencial. Qualquer pessoa com a string controla o bot completamente, e é por isso que ele pertence a uma variável de ambiente e nunca a um repositório, uma captura de tela ou um chat em grupo.
Nesse momento você tem um bot funcionando que não faz nada, porque ninguém está escutando. Esse é o estado correto de se estar e é onde o trabalho de verdade começa.
Regra um: em um grupo, seu bot é deliberadamente surdo
Esse é o relato mais comum de "meu bot está quebrado", e é comportamento documentado, não um bug. O Telegram afirma que, por padrão, todos os bots adicionados a grupos rodam em modo de privacidade e só veem mensagens relevantes e comandos.
Então um bot num grupo não recebe conversa comum. Ele recebe mensagens que o mencionam e comandos, e isso é o design. Se você está construindo um bot de moderação que precisa ler tudo, você muda essa configuração pelo BotFather deliberadamente. Se você está construindo um assistente que responde perguntas, deixe como está: o padrão é o que preserva privacidade e também te poupa de um volume enorme de atualizações irrelevantes.
Uma regra relacionada que pega quem constrói fluxos bot-para-bot: o Telegram decidiu que bots não veem mensagens de outros bots de jeito nenhum, independentemente do modo, especificamente para evitar que fiquem presos em loops. Dois dos seus próprios bots não podem conversar diretamente entre si.
Regra dois: uma mensagem por segundo, por chat
A orientação do Telegram é direta. Em um único chat, evite enviar mais de uma mensagem por segundo. Ele coloca isso como conselho, não como uma parede dura, o que na prática significa que o limite é aplicado fazendo seu bot esperar, em vez de recusar de cara.
A consequência de design vale absorver cedo: um bot que responde uma pergunta em seis mensagens curtas é seis vezes mais lento para aquele usuário do que um que responde em uma única mensagem, e isso se sente. Componha uma resposta em vez de narrar.
Regra três: trinta por segundo, em massa, e a aritmética que segue
Para notificações em massa, o Telegram afirma que bots não conseguem transmitir mais do que cerca de trinta mensagens por segundo.
Faça a aritmética antes de desenhar um recurso de broadcast, porque ela é implacável. Dez mil assinantes a trinta por segundo são pouco mais de cinco minutos e meio de envio contínuo, assumindo que nada falhe e nada tente de novo. Cem mil é quase uma hora. Qualquer bot cujo propósito é anunciar algo para uma lista grande é na verdade uma fila com um bot na ponta, e construí-lo como um loop simples vai produzir um broadcast que ainda está saindo muito depois de a notícia ter envelhecido.
As respostas práticas são as comuns: envie para um canal e deixe os assinantes puxarem, em vez de empurrar para cada usuário individualmente; ou aceite a fila e mostre progresso. Escolha deliberadamente, no começo.
Uma primeira versão que é pequena de propósito
O Telegram pede que todos os desenvolvedores suportem um pequeno conjunto de comandos básicos, e coloca /start no topo da lista como o que inicia a interação com um usuário. Ele também pede que você responda a todas as mensagens enviadas ao seu bot. Entre essas duas linhas você tem uma especificação para uma primeira versão.
- Responda ao
/startcom uma declaração curta do que o bot faz. É a primeira coisa que todo usuário vê e é a única tela com a qual você pode contar. - Combine com um punhado de perguntas repetidas de verdade, tiradas das mensagens que você já responde manualmente, em vez de uma lista chutada.
- Nunca fique em silêncio. Entrada não reconhecida deve receber uma resposta de que um humano vai acompanhar, porque um bot que não diz nada parece quebrado, e um bot que diz "não entendi isso, alguém vai te responder" parece funcionando.
Deixe esse loop confiável e tudo depois dele, posts agendados, moderação de grupo, consulta a banco de dados, é uma adição em vez de uma reconstrução.
Duas coisas que você não pode comprar, e uma que pode
Uma nota sobre o que este marketplace tem e não tem, já que é a pergunta óbvia num site como este.
Não há bot para comprar. Buscar todas as 16.735 listagens ativas pela palavra no título retorna três resultados, e todos os três são outra coisa: um jogo de console com "Bot" no nome, uma listagem do Telegram onde um bot é o mecanismo de entrega, e uma listagem do Facebook onde o vendedor entrega direitos de admin através de um. Ninguém vende bots aqui, porque o token é grátis e leva um minuto.
O que você pode querer é uma conta comum do Telegram para testar, para não adicionar seu número pessoal a um bot que você ainda está depurando, e um número para registrá-lo. Ambos existem: contas Telegram e números de verificação por SMS. A garantia na prateleira de contas dura doze horas na mediana, então teste o login no momento em que chegar, em vez de no fim de semana.
Uma assimetria que vale saber se você está construindo algo voltado ao público: a verificação do Telegram se aplica a canais, bots e grupos públicos. Seu bot está na lista elegível. A conta de onde você o opera não está.
A referência para manter aberta enquanto você constrói é a própria documentação da API de Bots do Telegram. Tudo citado nesta página vem dela, e é a única fonte que permanece atualizada.