Como criar um bot no Telegram

Quem sou
Aina Martin
@ainamartin
Autor e referências

O que s√£o bots do Telegram

Antes de agir e criar um bot no Telegram, √© bom esclarecer em detalhes o que s√£o os bots do Telegram e por que eles t√™m tanto sucesso. De um modo geral, um bot nada mais √© do que um "usu√°rio" do Telegram n√£o humano, consistindo principalmente em linhas de c√≥digo carregadas em um plataforma de microsservi√ßos, capaz de realizar a√ß√Ķes (√†s vezes at√© complexas) de forma totalmente autom√°tica, recebendo solicita√ß√Ķes no formul√°rio HTTP os comandos dados pelo usu√°rio atrav√©s do chat do Telegram.



Principalmente, existem dois tipos de bots do Telegram: o bot aut√īnoma, aquele com uma janela de bate-papo aut√īnoma para emitir comandos, e o bot em linha, aquele que pode ser chamado de outras janelas de chat (individuais ou grupos) usando o comando @botname. Cada bot do Telegram √© identificado exclusivamente por um token- Uma sequ√™ncia de n√ļmeros e letras usados ‚Äč‚Äčpor aplicativos da web e APIs para se referir ao pr√≥prio bot.

Para esclarecer suas ideias, quero dar um exemplo pr√°tico: em condi√ß√Ķes normais, rastrear um pacote em tr√Ęnsito em um correio significa conectar-se ao site do transportador, inserir o n√ļmero de rastreamento na caixa proposta, preencher os campos necess√°rios e consultar, no local., o status do pacote. Para obter atualiza√ß√Ķes de status, na maioria dos casos, deve-se ter o cuidado de retornar ao site e repetir o procedimento.

Com TrackBot, um dos melhores aut√īnomos de bot para Telegram, a m√ļsica muda: √© um bot criado por quatro programadores na sua l√≠nguaos, que permite rastrear uma remessa a partir de seu c√≥digo de rastreamento e receber atualiza√ß√Ķes de status de forma totalmente autom√°tica. Para utiliz√°-lo, basta procur√°-lo no Telegram e emitir os comandos necess√°rios (ilustrados pelo pr√≥prio bot) para adicionar o n√ļmero de rastreamento da encomenda, ap√≥s o que o bot faz interface com o servi√ßo de Internet do courier (por exemplo, GLS) e, de forma totalmente autom√°tica, envia uma mensagem de bate-papo para o usu√°rio quando o estado do pacote muda (por exemplo, Em tr√Ęnsito, Em entrega ou Entregue).



Quanto aos bots em linha, Posso dar o exemplo de @gif: digitando o comando @gif key_word dentro de uma janela de bate-papo, GIFs animados correspondentes √† palavra-chave inserida ser√£o propostos, retirados diretamente do portal Giphy e pronto para ser enviado em bate-papos. TrackBot e Giphy s√£o apenas dois exemplos do que os bots do Telegram s√£o capazes: voc√™ pode encontrar uma lista de bots √ļteis apenas no caso em meu guia aprofundado sobre os melhores bots do Telegram.

Voltando para nós, a operação básica de um bot do Telegram segue o padrão que ilustro a seguir.

  • O bot √© adicionado por meio da √°rea de pesquisa do Telegram (aut√īnomo) ou invocado em um chat existente (inline).
  • Ap√≥s inici√°-lo, o usu√°rio digita um comando na janela de chat (aut√īnomo) ou ap√≥s a string @botname (inline).
  • O comando digitado √© enviado para a plataforma de microsservi√ßos, que se encarrega de interpret√°-lo, execut√°-lo e gerar a resposta HTTP.
  • O Telegram recebe a resposta HTTP e seu bot "escreve" na janela de chat.

Criação de um bot no Telegram

Agora que você tem o básico sobre os bots do Telegram, aposto que mal pode esperar para criar o seu próprio. Vou começar dizendo que a criação de um bot "vazio" é extremamente simples: a parte um pouco mais complicada, aquela que requer dicas de programação, preocupa-se, em vez disso, com o comportamento do bot, que é a capacidade de receber e executar comandos dados pelo usuário.

Como j√° mencionei, isso √© feito por meio de solicita√ß√Ķes HTTP que funcionam como um "canal de comunica√ß√£o" entre o Telegram e o espa√ßo Web que cont√©m a aplica√ß√£o associada: este √ļltimo, de facto, processa os comandos e envia as respostas ao chat do Telegram correspondente ao bot (por sua vez formado por m√©todos e onde eles podem ser explorados API servi√ßos de terceiros).



Como voc√™ diz? Voc√™ entendeu como funciona um bot, mas n√£o tem a menor ideia do que fazer? N√£o se preocupe, abaixo darei as instru√ß√Ķes para criar seu primeiro bot do Telegram que simplesmente ‚Äúrepete‚ÄĚ o que est√° escrito em sua janela de bate-papo.

Para come√ßar, voc√™ precisa criar um novo bot "vazio" usando BotFather, o bot do Telegram "pai" de todos os outros bots: start Telegram, pressiona lupa localizado na parte superior da janela, digite a palavra Botfather dentro da caixa de texto e pressiona sobre o primeiro resultado recebido, aquele marcado com uma pequena marca de sele√ß√£o azul (que identifica os bots oficiais). Alternativamente, se voc√™ quiser fazer isso primeiro, clique aqui e concorde em abrir o bot no Telegram. Feito isso, pressione o bot√£o Come√ßo localizado na janela de bate-papo e digite o comando / newbot seguido por Transmiss√£o, na caixa de texto, para iniciar o procedimento de cria√ß√£o.

Neste ponto, o BotFather far√° uma s√©rie de perguntas sobre a configura√ß√£o inicial do seu bot: Primeiro, escolha um nome (por exemplo, Eco Bot), digite-o na caixa de texto e pressione Transmiss√£o, em seguida, escolha um nome de usu√°rio (lembrando que deve necessariamente terminar com a palavra focinhopor exemplo repeat_bot) e ainda pressiona Transmiss√£o. Isso criar√° um bot, que no momento n√£o far√° nada, mas fornecer√° a voc√™ um token atrav√©s do qual voc√™ pode coloc√°-lo em opera√ß√£o: ent√£o anote o token e guarde-o com cuidado, sem revel√°-lo a ningu√©m (j√° que qualquer pessoa que possua esse c√≥digo poder√° controlar o bot). Seguindo um procedimento semelhante, voc√™ pode usar comandos / setdescription/ setabouttext/ setuserpic para definir um, respectivamente descri√ß√£o do bot, um pouco texto introdut√≥rio e um avatar pessoal.



Feito isso, voc√™ precisa de um espa√ßo na web dedicado √†s instru√ß√Ķes (neste guia, usaremos a linguagem Python) para ser dado ao seu bot: desta vez eu escolhi Hook.io, uma plataforma capaz de hospedar microsservi√ßos (ou seja, pequenos peda√ßos de c√≥digo que realizam opera√ß√Ķes), utiliz√°veis ‚Äč‚Äčcom pre√ßos come√ßando em $ 2 / m√™s (a conta b√°sica tem um limite de 1000 pedidos mensais, mais informa√ß√Ķes aqui). A primeira coisa que voc√™ deve fazer, portanto, √© conectar-se a esta p√°gina da Internet, inserir seu endere√ßo de e-mail na caixa Email colocado na caixa Novos Desenvolvedores ee aperte o bot√£o Criar nova conta.

Neste ponto, preencha a pr√≥xima tela com as informa√ß√Ķes solicitadas (nome da conta e senha) e, quando solicitado, insira as informa√ß√Ķes relativas ao seu cart√£o de cr√©dito. Por fim, pressione o bot√£o Registrar o nome da conta e anote o endere√ßo da web da sua conta que aparece no lado direito da tela (https://hook.io/tuonomeaccount), pois voc√™ precisar√° dele mais tarde.

Depois de concluir a fase de cria√ß√£o da conta, voc√™ retornar√° √† p√°gina de gerenciamento de servi√ßos: para come√ßar, memorize o token recebido anteriormente de BotFather, para que possa ser recuperado simplesmente invocando uma vari√°vel dentro do c√≥digo (sem ter que reescrev√™-la todas as vezes). Em seguida, clique no √≠cone marcado com tr√™s man√≠pulos de controle presente no painel do bot√£o de servi√ßo (o segundo da esquerda), digite no campo Chave o nome da vari√°vel (por exemplo token_repeat), cole no campo valor il token gerado por BotFather e pressiona o bot√£o Salvar vari√°veis ‚Äč‚Äčde ambiente da conta.

Feito isso, √© hora de criar o servi√ßo real que far√° o bot do Telegram funcionar: clique no item Criar novo servi√ßo localizado na barra na parte superior, digite o nome que deseja dar ao seu servi√ßo (por exemplo, bot de repeti√ß√£o) e pressiona o bot√£o Salve e continue. Na pr√≥xima janela, defina o item Python no menu suspenso L√≠ngua, apague um pouco mais abaixo tudo o que est√° escrito na caixa de texto e cole a parte do c√≥digo que permite ao bot "repetir" as mensagens recebidas, conforme escrito abaixo.

pedidos de importação
testoOriginale = Hook ['params'] ['mensagem'] ['texto']
idChat = Hook ['params'] ['mensagem'] ['chat'] ['id']
URL = 'https: //api.telegram.org/bot' + Hook ['env'] ['token_repeat'] +' / sendMessage '
req = requests.get (URL, verify = False, data = {'chat_id': idChat, 'text': testoOriginale})

Lembre-se de substituir um token_repeat o nome da vari√°vel de ambiente definida anteriormente. Assim que a inser√ß√£o for conclu√≠da, pressione o bot√£o Salvar c√≥digo e aguarde a notifica√ß√£o de confirma√ß√£o. Para esclarecer melhor suas ideias, explicarei a seguir o que as instru√ß√Ķes do c√≥digo fazem.

  • pedidos de importa√ß√£o - √© usado para "importar" a biblioteca para o programa pedidos da API Python do Telegram, para que voc√™ possa tirar proveito de seus m√©todos.
  • testoOriginale = [‚Ķ] - este comando registra o texto recebido do chat do Telegram em uma vari√°vel.
  • idChat = [‚Ķ] - este √© o comando que salva o identificador de bate-papo do Telegram (para entender precisamente para qual bate-papo enviar a mensagem de volta).
  • URL = [‚Ķ] - √© o comando que, de fato, envia a mensagem com a solicita√ß√£o HTTP do bot para o microsservi√ßo no Hook.
  • req = [‚Ķ] - √© o comando que "monta" a resposta recebida e a reproduz no chat do Telegram.

Uma vez que o c√≥digo foi inserido, voc√™ deve invocar o microsservi√ßo pela primeira vez, para "dizer" ao Telegram que todas as instru√ß√Ķes recebidas no chat do bot devem ser "sequestradas" no microsservi√ßo rec√©m solicitado: para fazer isso, digite a barra de endere√ßo do navegador √† sua disposi√ß√£o comando https://api.telegram.org/botToken/setWebhook?url=https://hook.io/tuonomeaccount/nomehook que, neste exemplo, muda para https://api.telegram.org/botabcd-1234-token/setWebhook?url=https://hook.io/jessica_689/ripeti-bot. Se tudo correr bem, uma resposta semelhante a √© mostrada no navegador {‚ÄúOk‚ÄĚ: verdadeiro, ‚ÄĚresultado‚ÄĚ: ‚Äč‚Äčverdadeiro, ‚ÄĚdescri√ß√£o‚ÄĚ: ‚ÄĚWebhook foi definido‚ÄĚ}: isso significa que seu bot est√° funcionando e que, a partir de agora, voc√™ pode us√°-lo!

Tudo que voc√™ precisa fazer √© chamar o bot do Telegram, apertar o bot√£o Come√ßo e digite na janela de chat tudo o que voc√™ quer que seu bot repita: voc√™ pode testar o que constru√≠mos juntos clicando neste link.

Aviso que, dada a extrema simplicidade do bot, este poderia se comportar de forma "inesperada" e repetir indefinidamente tudo o que voc√™ digitar na janela de chat: se isso acontecer, volte para a lista de chat, mantenha pressionado o chat de o bot (ou clique com o bot√£o direito, se voc√™ estiver usando o Telegram para computador ou o Telegram Web) e selecione Parar bots / Parar e bloquear bots do painel proposto.

Para mais informa√ß√Ķes

Aposto que gra√ßas √†s minhas dicas voc√™ conseguiu criar seu primeiro bot no Telegram e n√£o v√™ a hora de aprender a criar outros, ainda mais complexos: como j√° expliquei, o que vimos at√© agora nada mais √© do que um exemplo das fun√ß√Ķes b√°sicas de cria√ß√£o e desenvolvimento de um bot, mas posso garantir que as possibilidades de desenvolvimento s√£o realmente ilimitadas.

S√≥ para dar um exemplo, voc√™ pode us√°-los, al√©m do Python, at√© mesmo l√≠nguas Node.js, Java e PHP, √© poss√≠vel fazer seu bot interagir com alguns servi√ßos da Web bem conhecidos (incluindo YoutubeGmail), voc√™ pode escrever c√≥digo para interagir com blogs e sites usando API fornecido pelo servi√ßo em uso (por exemplo, WordPressBlogger), voc√™ pode criar facilmente um bot embutido e muito, muito mais.

Abaixo est√° uma lista de sites √ļteis da Internet para aprender mais sobre a cria√ß√£o de bots no Telegram.

  • Guia para bots do Telegram - nesta p√°gina voc√™ encontrar√° todas as informa√ß√Ķes b√°sicas para entrar no mundo dos bots, incluindo instru√ß√Ķes detalhadas sobre como usar o BotFather (gerar um novo token de acesso, excluir um bot, criar um bot embutido e assim por diante).
  • API do bot do Telegram - √© o principal recurso para gerenciar m√©todos relacionados √† an√°lise (ou interpreta√ß√£o) dos dados inclu√≠dos nas solicita√ß√Ķes e respostas HTTP.
  • Exemplos de c√≥digo - aqui voc√™ pode encontrar exemplos de bots em funcionamento, em diferentes linguagens de script e programa√ß√£o.
  • Heroku - outra boa plataforma para criar e iniciar microsservi√ßos em v√°rias linguagens de programa√ß√£o.
  • Documenta√ß√£o oficial do Python - para aprender a programar em Python.
  • Documenta√ß√£o do Node.js - tudo que voc√™ precisa saber sobre esta biblioteca JavaScript.
  • Manual de PHP - para aprender a programar em PHP.
Como criar um bot no Telegram

√Āudio v√≠deo Como criar um bot no Telegram
Adicione um coment√°rio do Como criar um bot no Telegram
Comentário enviado com sucesso! Vamos analisá-lo nas próximas horas.