{"id":37135,"date":"2021-03-26T15:15:00","date_gmt":"2021-03-26T15:15:00","guid":{"rendered":"https:\/\/sinchcomdev.local\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/"},"modified":"2025-12-18T16:13:19","modified_gmt":"2025-12-18T16:13:19","slug":"bot-no-telegram-passo-a-passo-da-criacao-em-python","status":"publish","type":"blog","link":"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/","title":{"rendered":"Bot no Telegram: Passo a passo da cria\u00e7\u00e3o em Python"},"content":{"rendered":"\n<p>O intuito desse artigo \u00e9 mostrar de forma simples como fazer um bot no Telegram. Para isso, vamos montar, passo a passo, o assistente virtual que ser\u00e1 respons\u00e1vel por consultar uma API e nos retornar quantas pessoas est\u00e3o no espa\u00e7o, quem s\u00e3o elas, e em qual espa\u00e7onave elas se encontram.<\/p>\n\n\n\n<p>Para acompanhar o tutorial, \u00e9 recomendado ter uma no\u00e7\u00e3o b\u00e1sica de Python. <\/p>\n\n\n\n<p>Por <a href=\"https:\/\/www.linkedin.com\/in\/caio-zovaro\/\"><u>Caio Zovaro<\/u><\/a>, Desenvolvedor da <a href=\"https:\/\/sinch.com\/pt\/about-us\/?utm_source=Blog&amp;utm_medium=blog&amp;utm_campaign=bottelegram\"><u>Sinch<\/u><\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O BotFather<\/h2>\n\n\n\n<p>Primeiramente, para criar nosso assistente virtual, n\u00f3s utilizaremos a ajuda de um outro bot, que auxilia na produ\u00e7\u00e3o de novos bots, bem como na edi\u00e7\u00e3o de bots existentes. O nome dele \u00e9 BotFather. <\/p>\n\n\n\n<p>Para iniciar uma conversa com ele basta procurarmos por @BotFather no Telegram, enviarmos o comando \/start e este comando retornar\u00e1 uma lista com todos os comandos que o BotFather \u00e9 capaz de executar.<\/p>\n\n\n\n<p>Entre eles, temos o \/newbot, que \u00e9 o comando necess\u00e1rio para criarmos nosso novo assistente virtual. Utilizando este comando, o BotFather far\u00e1 duas perguntas b\u00e1sicas:<\/p>\n\n\n\n<p>1 \u2013 Como o bot vai se chamar? <\/p>\n\n\n\n<p>2 \u2013 Qual ser\u00e1 o username do bot?<\/p>\n\n\n\n<p>Respondendo esses questionamentos, o BotFather nos retornar\u00e1 uma mensagem contendo o <em>access token<\/em> do bot. Copie este <em>access token<\/em> e vamos armazen\u00e1-lo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Armazenando o<em> Access Token<\/em><\/h2>\n\n\n\n<p>Tendo o <em>Access Token <\/em>em m\u00e3os, vamos armazen\u00e1-lo em um vari\u00e1vel de ambiente, para que ele possa ser acessado atrav\u00e9s do nosso script Python. Para isso, basta digitar o seguinte comando no terminal: <\/p>\n\n\n\n<p><strong><em>export SPACE_BOT_TOKEN=\u201dAccess Token aqui\u201d<\/em><\/strong><strong><\/strong> Pronto, agora j\u00e1 temos nosso <em>Access Token<\/em> armazenado e podemos acess\u00e1-lo atrav\u00e9s do nosso script.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Implementando o bot no Telegram<\/h2>\n\n\n\n<p>A fim de facilitar a implementa\u00e7\u00e3o, vamos utilizar uma biblioteca chamada pyTelegramBotAPI. Esta API possui <em>decoratorsI <\/em>que facilitam nosso trabalho na hora de identificarmos qual tipo de tratamento devemos dar a cada mensagem enviada pelo usu\u00e1rio. Instale a biblioteca com o pip: <em>pip3 install pyTelegramBotAPI<\/em>. Agora, vamos come\u00e7ar a implementa\u00e7\u00e3o. Primeiramente, devemos inicializar nosso bot utilizando a API:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" class=\"wp-image-14411\" width=\"300\" height=\"70\" src=\"https:\/\/sinch.com\/wp-content\/uploads\/2024\/08\/1-300x70-1.jpg\" alt=\"\"\/><\/figure>\n\n\n\n<p>Aqui, fazemos os imports necess\u00e1rios e, depois, inicializamos o assistente virtual com um comando simples na linha 7. <\/p>\n\n\n\n<p>Em seguida, vamos criar duas fun\u00e7\u00f5es: uma de apresenta\u00e7\u00e3o do bot e outra para retornarmos ao usu\u00e1rio quantas pessoas est\u00e3o no espa\u00e7o neste exato momento.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" class=\"wp-image-14412\" width=\"300\" height=\"85\" src=\"https:\/\/sinch.com\/wp-content\/uploads\/2024\/08\/1-1-300x85-1.jpg\" alt=\"\"\/><\/figure>\n\n\n\n<p>Assim, as linhas 10 e 17 temos os <em>decorators<\/em> que, neste caso espec\u00edfico, est\u00e3o indicando ao nosso bot quais fun\u00e7\u00f5es devem ser executadas dependendo do comando que o usu\u00e1rio utilizar.<\/p>\n\n\n\n<p>Al\u00e9m disso, a fun\u00e7\u00e3o <em>send_start_message <\/em>na linha 11 envia uma mensagem simples ao usu\u00e1rio explicando o que o bot faz. Em seguida, a fun\u00e7\u00e3o <em>send_people, <\/em>na linha 17, envia para o usu\u00e1rio a quantidade de pessoas que est\u00e3o no espa\u00e7o e quem s\u00e3o elas. Para isso, utilizamos duas fun\u00e7\u00f5es auxiliares. Vamos dar uma olhada nelas.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" class=\"wp-image-14413\" width=\"300\" height=\"168\" src=\"https:\/\/sinch.com\/wp-content\/uploads\/2024\/08\/3.jpg\" alt=\"\"\/><\/figure>\n\n\n\n<p>Aqui, temos na linha 34 a fun\u00e7\u00e3o <em>get_people <\/em>respons\u00e1vel por buscar as informa\u00e7\u00f5es na API Open Notify. Ao mesmo tempo, a fun\u00e7\u00e3o <em>get_reply_message, <\/em>na linha 22, monta a mensagem a ser endere\u00e7ada ao usu\u00e1rio utilizando as informa\u00e7\u00f5es da fun\u00e7\u00e3o <em>get_people.<\/em> Por \u00faltimo, precisamos apenas ativar o<em> polling <\/em>do nosso bot para que ele fique aguardando mensagens do usu\u00e1rio. Para fazer isso, basta uma linha de c\u00f3digo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" class=\"wp-image-14414\" width=\"300\" height=\"85\" src=\"https:\/\/sinch.com\/wp-content\/uploads\/2024\/08\/1-1-300x85-2.jpg\" alt=\"\"\/><\/figure>\n\n\n\n<p>Pronto! Nosso c\u00f3digo est\u00e1 feito. Agora basta rodar este script e conversar com o bot. Vamos dar uma olhada como ficaram as respostas do bot aos nossos comandos.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" class=\"wp-image-14415\" width=\"300\" height=\"222\" src=\"https:\/\/sinch.com\/wp-content\/uploads\/2024\/08\/1-4-300x222-1.jpg\" alt=\"\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Conclus\u00e3o<\/h2>\n\n\n\n<p>Como resultado, neste artigo aprendemos a criar um assistente virtual simples que consulta uma API. Por\u00e9m, essa \u00e9 s\u00f3 uma pequena demonstra\u00e7\u00e3o do que os bots do Telegram s\u00e3o capazes de fazer. Qualquer d\u00favida, cr\u00edtica ou sugest\u00e3o sobre Bot no Telegram podem me procurar pelo LinkedIn ou entrar em <a href=\"https:\/\/sinch.com\/pt\/contact-us\/?utm_source=Blog&amp;utm_medium=blog&amp;utm_campaign=bottelegram\"><u>contato com nossos especialistas<\/u><\/a>.<\/p>\n","protected":false},"author":39,"featured_media":37137,"menu_order":0,"template":"","meta":{"_acf_changed":false,"footnotes":""},"tags":[],"blog_category":[],"class_list":["post-37135","blog","type-blog","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Cria\u00e7\u00e3o de Bot no Telegram: Passo a Passo em Python | Sinch<\/title>\n<meta name=\"description\" content=\"Confira o passo a passo completo da Sinch para o desenvolvimento de bot no Telegram. Clique e Veja!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cria\u00e7\u00e3o de Bot no Telegram: Passo a Passo em Python | Sinch\" \/>\n<meta property=\"og:description\" content=\"Confira o passo a passo completo da Sinch para o desenvolvimento de bot no Telegram. Clique e Veja!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Sinch\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/wearesinch\/\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-18T16:13:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sinch.com\/wp-content\/uploads\/2024\/08\/Bot-no-Telegram_-Passo-a-passo-da-criacao-em-Python.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1300\" \/>\n\t<meta property=\"og:image:height\" content=\"780\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@WeAreSinch\" \/>\n<meta name=\"twitter:label1\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/\",\"url\":\"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/\",\"name\":\"Cria\u00e7\u00e3o de Bot no Telegram: Passo a Passo em Python | Sinch\",\"isPartOf\":{\"@id\":\"https:\/\/sinch.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/sinch.com\/wp-content\/uploads\/2024\/08\/Bot-no-Telegram_-Passo-a-passo-da-criacao-em-Python.png\",\"datePublished\":\"2021-03-26T15:15:00+00:00\",\"dateModified\":\"2025-12-18T16:13:19+00:00\",\"description\":\"Confira o passo a passo completo da Sinch para o desenvolvimento de bot no Telegram. Clique e Veja!\",\"breadcrumb\":{\"@id\":\"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/#primaryimage\",\"url\":\"https:\/\/sinch.com\/wp-content\/uploads\/2024\/08\/Bot-no-Telegram_-Passo-a-passo-da-criacao-em-Python.png\",\"contentUrl\":\"https:\/\/sinch.com\/wp-content\/uploads\/2024\/08\/Bot-no-Telegram_-Passo-a-passo-da-criacao-em-Python.png\",\"width\":1300,\"height\":780},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/sinch.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\/\/sinch.com\/pt\/blog\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Bot no Telegram: Passo a passo da cria\u00e7\u00e3o em Python\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/sinch.com\/pt\/#website\",\"url\":\"https:\/\/sinch.com\/pt\/\",\"name\":\"Sinch\",\"description\":\"SMS Messaging, Voice, Email, Video &amp; Verification APIs | Sinch\",\"publisher\":{\"@id\":\"https:\/\/sinch.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/sinch.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/sinch.com\/pt\/#organization\",\"name\":\"Sinch\",\"url\":\"https:\/\/sinch.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/sinch.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/sinch.com\/wp-content\/uploads\/2024\/09\/Thumbnail-Logo-Honey.png\",\"contentUrl\":\"https:\/\/sinch.com\/wp-content\/uploads\/2024\/09\/Thumbnail-Logo-Honey.png\",\"width\":800,\"height\":496,\"caption\":\"Sinch\"},\"image\":{\"@id\":\"https:\/\/sinch.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/wearesinch\/\",\"https:\/\/x.com\/WeAreSinch\",\"https:\/\/www.linkedin.com\/company\/sinch\",\"https:\/\/www.youtube.com\/channel\/UCZZ2u_B2afTxA0v-xcgfsaw\",\"https:\/\/www.instagram.com\/wearesinch\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cria\u00e7\u00e3o de Bot no Telegram: Passo a Passo em Python | Sinch","description":"Confira o passo a passo completo da Sinch para o desenvolvimento de bot no Telegram. Clique e Veja!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/","og_locale":"pt_BR","og_type":"article","og_title":"Cria\u00e7\u00e3o de Bot no Telegram: Passo a Passo em Python | Sinch","og_description":"Confira o passo a passo completo da Sinch para o desenvolvimento de bot no Telegram. Clique e Veja!","og_url":"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/","og_site_name":"Sinch","article_publisher":"https:\/\/www.facebook.com\/wearesinch\/","article_modified_time":"2025-12-18T16:13:19+00:00","og_image":[{"width":1300,"height":780,"url":"https:\/\/sinch.com\/wp-content\/uploads\/2024\/08\/Bot-no-Telegram_-Passo-a-passo-da-criacao-em-Python.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@WeAreSinch","twitter_misc":{"Est. tempo de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/","url":"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/","name":"Cria\u00e7\u00e3o de Bot no Telegram: Passo a Passo em Python | Sinch","isPartOf":{"@id":"https:\/\/sinch.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/#primaryimage"},"image":{"@id":"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/#primaryimage"},"thumbnailUrl":"https:\/\/sinch.com\/wp-content\/uploads\/2024\/08\/Bot-no-Telegram_-Passo-a-passo-da-criacao-em-Python.png","datePublished":"2021-03-26T15:15:00+00:00","dateModified":"2025-12-18T16:13:19+00:00","description":"Confira o passo a passo completo da Sinch para o desenvolvimento de bot no Telegram. Clique e Veja!","breadcrumb":{"@id":"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/#primaryimage","url":"https:\/\/sinch.com\/wp-content\/uploads\/2024\/08\/Bot-no-Telegram_-Passo-a-passo-da-criacao-em-Python.png","contentUrl":"https:\/\/sinch.com\/wp-content\/uploads\/2024\/08\/Bot-no-Telegram_-Passo-a-passo-da-criacao-em-Python.png","width":1300,"height":780},{"@type":"BreadcrumbList","@id":"https:\/\/sinch.com\/pt\/blog\/bot-no-telegram-passo-a-passo-da-criacao-em-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sinch.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/sinch.com\/pt\/blog\/"},{"@type":"ListItem","position":3,"name":"Bot no Telegram: Passo a passo da cria\u00e7\u00e3o em Python"}]},{"@type":"WebSite","@id":"https:\/\/sinch.com\/pt\/#website","url":"https:\/\/sinch.com\/pt\/","name":"Sinch","description":"SMS Messaging, Voice, Email, Video &amp; Verification APIs | Sinch","publisher":{"@id":"https:\/\/sinch.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sinch.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/sinch.com\/pt\/#organization","name":"Sinch","url":"https:\/\/sinch.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/sinch.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/sinch.com\/wp-content\/uploads\/2024\/09\/Thumbnail-Logo-Honey.png","contentUrl":"https:\/\/sinch.com\/wp-content\/uploads\/2024\/09\/Thumbnail-Logo-Honey.png","width":800,"height":496,"caption":"Sinch"},"image":{"@id":"https:\/\/sinch.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/wearesinch\/","https:\/\/x.com\/WeAreSinch","https:\/\/www.linkedin.com\/company\/sinch","https:\/\/www.youtube.com\/channel\/UCZZ2u_B2afTxA0v-xcgfsaw","https:\/\/www.instagram.com\/wearesinch\/"]}]}},"_links":{"self":[{"href":"https:\/\/sinch.com\/pt\/wp-json\/wp\/v2\/blog\/37135","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sinch.com\/pt\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/sinch.com\/pt\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/sinch.com\/pt\/wp-json\/wp\/v2\/users\/39"}],"version-history":[{"count":0,"href":"https:\/\/sinch.com\/pt\/wp-json\/wp\/v2\/blog\/37135\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sinch.com\/pt\/wp-json\/wp\/v2\/media\/37137"}],"wp:attachment":[{"href":"https:\/\/sinch.com\/pt\/wp-json\/wp\/v2\/media?parent=37135"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sinch.com\/pt\/wp-json\/wp\/v2\/tags?post=37135"},{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/sinch.com\/pt\/wp-json\/wp\/v2\/blog_category?post=37135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}