{"id":31044,"date":"2019-10-31T21:39:05","date_gmt":"2019-10-31T18:39:05","guid":{"rendered":"https:\/\/prohoster.info\/blog\/rukovodstvo-kak-sdelat-prostogo-bota-dlya-telegram-na-js-dlya-novichka-v-programmirovanii\/"},"modified":"2019-10-31T21:39:05","modified_gmt":"2019-10-31T18:39:05","slug":"rukovodstvo-kak-sdelat-prostogo-bota-dlya-telegram-na-js-dlya-novichka-v-programmirovanii","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/rukovodstvo-kak-sdelat-prostogo-bota-dlya-telegram-na-js-dlya-novichka-v-programmirovanii","title":{"rendered":"Guia: como criar um bot simples para Telegram em JS para iniciantes em programa\u00e7\u00e3o","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Comecei a me aprofundar no mundo da TI h\u00e1 apenas tr\u00eas semanas. S\u00e9rio, tr\u00eas semanas atr\u00e1s eu nem entendia a sintaxe HTML, e meu conhecimento sobre linguagens de programa\u00e7\u00e3o se limitava ao curr\u00edculo escolar de Pascal de dez anos atr\u00e1s. No entanto, decidi participar de um acampamento de TI onde seria interessante criar um bot. Pensei que isso provavelmente n\u00e3o era t\u00e3o dif\u00edcil.<\/p>\n<p>A partir da\u00ed come\u00e7ou um longo caminho, no qual eu:<\/p>\n<ul>\n<li>provisionei um servidor em nuvem com Ubuntu,<\/li>\n<li>registrei-me no GitHub,<\/li>\n<li>aprendi a sintaxe b\u00e1sica de JavaScript,<\/li>\n<li>li uma tonelada de artigos em ingl\u00eas e russo,<\/li>\n<li>finalmente fiz o bot,<\/li>\n<li>escrevi este artigo, finalmente.<\/li>\n<\/ul>\n<p>\nO resultado final ficou mais ou menos assim:<\/p>\n<p><img decoding=\"async\" alt=\"Guia: como criar um bot simples para Telegram em JS para iniciantes em programa\u00e7\u00e3o\" src=\"\/wp-content\/uploads\/2019\/04\/fc072aaa72b23c95faeaa09be8a652db.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nDevo avisar que este artigo \u00e9 para iniciantes \u2014 para entender como realizar tarefas elementares desde o zero.<\/p>\n<p>E tamb\u00e9m \u2014 para programadores experientes \u2014 apenas para dividi-los um pouco. <\/p>\n<p><b>1. Como escrever c\u00f3digo em JS?<\/b><\/p>\n<p>Eu sabia que precisava, pelo menos, entender a sintaxe da linguagem. Escolhi JavaScript, simplesmente porque meu pr\u00f3ximo passo seria criar um aplicativo em ReactNative. Comecei com <noindex><a rel=\"nofollow\" href=\"https:\/\/www.codecademy.com\/learn\/introduction-to-javascript\">o curso<\/a><\/noindex> na Codecademy e fiquei muito empolgado. Os primeiros 7 dias s\u00e3o gratuitos. Projetos reais. Recomendo. Demorou cerca de 25 horas para complet\u00e1-lo. Na verdade, nem tudo isso foi muito \u00fatil. Assim \u00e9 mais ou menos a estrutura do curso e detalhadamente o primeiro bloco.<\/p>\n<p><img decoding=\"async\" alt=\"Guia: como criar um bot simples para Telegram em JS para iniciantes em programa\u00e7\u00e3o\" src=\"\/wp-content\/uploads\/2019\/04\/e63be1e6c7f32cc3c929e0145996d569.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>2. Como registrar um bot?<\/b><\/p>\n<p>No in\u00edcio, fui muito ajudado por este <noindex><a rel=\"nofollow\" href=\"https:\/\/archakov.im\/post\/telegram-bot-on-nodejs.html\">artigo<\/a><\/noindex> do blog de um certo Archakov. Ele explica o come\u00e7o. Mas o principal que h\u00e1 l\u00e1 \u00e9 a instru\u00e7\u00e3o para registrar o bot. Melhor n\u00e3o poderia escrever, e como esta \u00e9 a parte mais f\u00e1cil, apenas vou resumir. \u00c9 necess\u00e1rio criar um bot e obter sua API. Isso \u00e9 feito atrav\u00e9s de outro bot \u2014 @BotFather. Encontre-o no Telegram, envie uma mensagem, siga o caminho simples e obtenha (salve!) a chave da API (um conjunto de n\u00fameros e letras). Eu a utilizei mais tarde.<\/p>\n<p><img decoding=\"async\" alt=\"Guia: como criar um bot simples para Telegram em JS para iniciantes em programa\u00e7\u00e3o\" src=\"\/wp-content\/uploads\/2019\/04\/b8181f6ad1c67dd47dd337f8171bf941.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>3. Como \u00e9 o c\u00f3digo do bot?<\/b><\/p>\n<p>Ap\u00f3s longo estudo de artigos, percebi que deveria usar alguma biblioteca (c\u00f3digo de terceiros no formato de m\u00f3dulo), para n\u00e3o ter que me preocupar em estudar a API do Telegram e criar grandes partes de c\u00f3digo do zero. Encontrei o framework <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/telegraf\/telegraf\">telegraf<\/a><\/noindex>, que precisava ser conectado a algo usando npm ou yarn. Era assim que eu entendia na \u00e9poca sobre como era a implementa\u00e7\u00e3o do bot. Voc\u00ea pode rir disso. Eu n\u00e3o me importo. O que mais me ajudou na cria\u00e7\u00e3o subsequente do bot foram os exemplos indicados no final da p\u00e1gina:<\/p>\n<p><img decoding=\"async\" alt=\"Guia: como criar um bot simples para Telegram em JS para iniciantes em programa\u00e7\u00e3o\" src=\"\/wp-content\/uploads\/2019\/04\/711b252c5118b47a14c52862dd869058.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>3. Como criar seu pr\u00f3prio servidor em nuvem por 100 rublos<\/b><\/p>\n<p>Ap\u00f3s longas buscas, percebi que a equipe 'npm' da imagem acima se refere ao terminal de comandos. O terminal de comandos est\u00e1 em toda parte, mas para que eu conseguisse execut\u00e1-lo, era necess\u00e1rio instalar o NodePackageManager. O problema era que eu estava programando no PixelBook com ChromeOS. Vou pular aqui um grande bloco sobre como conheci o Linux - para a maioria, isso \u00e9 irrelevante e desnecess\u00e1rio. Se voc\u00ea tem Windows ou MacBook, j\u00e1 tem um console. <\/p>\n<p>Em resumo, instalei o Linux atrav\u00e9s do Crostini. <\/p>\n<p>No entanto, durante o processo, percebi que para que o bot funcionasse constantemente (e n\u00e3o apenas quando meu computador estava ligado), eu precisava de um servidor em nuvem. Eu escolhi <noindex><a rel=\"nofollow\" href=\"http:\/\/vscale.io\">vscale.io<\/a><\/noindex> Dei 100 rublos e comprei o servidor Ubuntu mais barato (veja a imagem). <\/p>\n<p><img decoding=\"async\" alt=\"Guia: como criar um bot simples para Telegram em JS para iniciantes em programa\u00e7\u00e3o\" src=\"\/wp-content\/uploads\/2019\/04\/74cdc3858900bbd0d95715f5371ef52a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>4. Como preparar o servidor para rodar o bot<\/b><\/p>\n<p>Depois disso, percebi que precisava criar uma pasta no servidor onde colocaria o arquivo com o c\u00f3digo. Para isso, no console (executando diretamente no site atrav\u00e9s do bot\u00e3o 'Abrir console'), digitei <\/p>\n<pre><code class=\"plaintext\">mkdir bot<\/code><\/pre>\n<p>\nbot \u2014 \u044d\u0442\u043e \u0441\u0442\u0430\u043b\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0435\u0439 \u043f\u0430\u043f\u043a\u0438. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b npm \u0438 Node.js, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043c\u043d\u0435 \u043f\u043e\u0442\u043e\u043c \u043a\u043e\u0434 \u0438\u0437 \u0444\u0430\u0439\u043b\u0438\u043a\u043e\u0432 \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c *.js<\/p>\n<pre><code class=\"plaintext\">sudo apt update\nsudo apt install nodejs\nsudo apt install npm<\/code><\/pre>\n<p>\nRecomendo fortemente que nesta etapa voc\u00ea configure a conex\u00e3o ao servidor atrav\u00e9s do seu console. Aqui est\u00e1 <noindex><a rel=\"nofollow\" href=\"https:\/\/community.vscale.io\/hc\/ru\/community\/posts\/207745269-%D0%9A%D0%B0%D0%BA-%D1%81%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-SSH-%D0%BA%D0%BB%D1%8E%D1%87-%D0%B4%D0%BB%D1%8F-%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0-%D0%BD%D0%B0-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80\">um guia<\/a><\/noindex> Isso permitir\u00e1 trabalhar com o servidor diretamente atrav\u00e9s do console do seu computador.<\/p>\n<p><b>5. Como escrever o c\u00f3digo do primeiro bot.<\/b><\/p>\n<p>Agora vem a revela\u00e7\u00e3o para mim. Qualquer programa \u00e9 simplesmente uma sequ\u00eancia de textos. Pode-se digitar em qualquer lugar, salvar com a extens\u00e3o correta e pronto. Voc\u00ea \u00e9 incr\u00edvel. Eu usei <noindex><a rel=\"nofollow\" href=\"https:\/\/atom.io\/\">Atom<\/a><\/noindex>, mas na realidade, pode-se simplesmente escrever no bloco de notas padr\u00e3o. O importante \u00e9 depois salvar o arquivo com a extens\u00e3o correta. \u00c9 como escrever um texto no Word e salvar. <\/p>\n<p>Criei um novo arquivo, no qual colequei o c\u00f3digo do exemplo na p\u00e1gina telegraf e salvei como index.js (n\u00e3o \u00e9 obrigat\u00f3rio nomear o arquivo assim, mas \u00e9 comum). Importante \u2014 substitua BOT_TOKEN pelo seu token de API da segunda etapa.<\/p>\n<pre><code class=\"plaintext\">const Telegraf = require('telegraf')\n\nconst bot = new Telegraf(process.env.BOT_TOKEN)\nbot.start((ctx) =&gt; ctx.reply('Bem-vindo!'))\nbot.help((ctx) =&gt; ctx.reply('Envie-me um adesivo'))\nbot.on('sticker', (ctx) =&gt; ctx.reply(''))\nbot.hears('oi', (ctx) =&gt; ctx.reply('Ol\u00e1'))\nbot.launch()<\/code><\/pre>\n<p>\n<b>6. Como enviar o c\u00f3digo ao servidor via github<\/b><\/p>\n<p>Agora eu precisava de alguma forma colocar esse c\u00f3digo no servidor e execut\u00e1-lo. Isso se tornou um desafio para mim. No final, depois de muitas dificuldades, percebi que seria mais f\u00e1cil criar um arquivo no github que permitisse atualizar o c\u00f3digo atrav\u00e9s de um comando no console. Eu criei uma conta em <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/\">github<\/a><\/noindex> e fiz <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/b0tank\/bot\">um novo projeto<\/a><\/noindex>, onde carreguei o arquivo. Depois disso, eu precisava entender como configurar o upload de arquivos da minha conta (p\u00fablica!) para a pasta bot (se por acaso voc\u00ea saiu dela \u2014 basta escrever cd bot).<\/p>\n<p><b>7. Como carregar arquivos no servidor via github parte 2<\/b><\/p>\n<p>Eu precisava instalar no servidor um programa que carregasse arquivos do git. Eu instalei o git no servidor, digitando no console <\/p>\n<pre><code class=\"plaintext\">apt-get install git<\/code><\/pre>\n<p>\nDepois disso, eu precisava configurar o upload de arquivos. Para isso, eu digitei no terminal <\/p>\n<pre><code class=\"plaintext\">git clone git:\/\/github.com\/b0tank\/bot.git bot\n<\/code><\/pre>\n<p>\n\u0412 \u0438\u0442\u043e\u0433\u0435 \u0432\u0441\u0435 \u0438\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u043e\u0441\u044c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440. \u041e\u0448\u0438\u0431\u043a\u043e\u0439 \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0431\u044b\u043b\u043e, \u0447\u0442\u043e \u044f, \u043f\u043e \u0441\u0443\u0442\u0438, \u0441\u0434\u0435\u043b\u0430\u043b \u0432\u0442\u043e\u0440\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u0432\u043d\u0443\u0442\u0440\u0438 \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u043f\u0430\u043f\u043a\u0438 bot. \u0410\u0434\u0440\u0435\u0441 \u0434\u043e \u0444\u0430\u0439\u043b\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b \u043a\u0430\u043a *\/bot\/bot\/index.js<\/p>\n<p>Decidi ignorar esse problema.<\/p>\n<p>E para carregar a biblioteca telegraf, que pedimos na primeira linha do c\u00f3digo, digite no console o comando.<\/p>\n<pre><code class=\"plaintext\">npm install telegraf<\/code><\/pre>\n<p>\n<b>8. Como iniciar o bot<\/b><\/p>\n<p>Para isso, estando na pasta com o arquivo (para navegar entre pastas no console \u2014 execute o comando no formato <code>cd bot<\/code> Para ter certeza de que voc\u00ea est\u00e1 no lugar certo, pode digitar um comando que exibir\u00e1 no console todos os arquivos e pastas que existem l\u00e1<code> ls -a<\/code><\/p>\n<p>Para iniciar, eu digitei no console <\/p>\n<pre><code class=\"plaintext\">node index.js\n<\/code><\/pre>\n<p>\nSe n\u00e3o houver nenhum erro \u2014 tudo est\u00e1 certo, o bot est\u00e1 funcionando. Procure por ele no Telegram. Se houver um erro \u2014 aplique seus conhecimentos do primeiro ponto.<\/p>\n<p><b>9. Como iniciar o bot em segundo plano<\/b><\/p>\n<p>Voc\u00ea rapidamente perceber\u00e1 que o bot funciona apenas quando voc\u00ea mesmo est\u00e1 no console. Para resolver esse problema, usei o comando <\/p>\n<pre><code class=\"plaintext\">screen<\/code><\/pre>\n<p>\nDepois disso, aparecer\u00e1 uma tela com algum texto. Isso significa que est\u00e1 tudo certo. Voc\u00ea est\u00e1 em um servidor virtual em um servidor na nuvem. Para entender melhor como tudo isso funciona \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/bablofil.ru\/kak-zapustit-bota-na-servere\/\">aqui est\u00e1 um artigo<\/a><\/noindex>. Basta entrar na sua pasta e digitar o comando para iniciar o bot<\/p>\n<pre><code class=\"plaintext\">node index.js<\/code><\/pre>\n<p>\n<b>10. Como funciona o bot e como expandir sua funcionalidade<\/b><\/p>\n<p>O que nosso bot de exemplo \u00e9 capaz de fazer? Ele consegue <\/p>\n<pre><code class=\"plaintext\">bot.start((ctx) =&gt; ctx.reply('Welcome!'))<\/code><\/pre>\n<p>\ndizer \"Welcome!\" no momento da inicializa\u00e7\u00e3o (tente mudar o texto)<\/p>\n<pre><code class=\"plaintext\">bot.help((ctx) =&gt; ctx.reply('Send me a sticker'))<\/code><\/pre>\n<p>\nem resposta ao comando padr\u00e3o \/help enviar a mensagem \"Send me a sticker\"<\/p>\n<pre><code class=\"plaintext\">bot.on('sticker', (ctx) =&gt; ctx.reply(''))<\/code><\/pre>\n<p>\nem resposta a um sticker enviar uma aprova\u00e7\u00e3o<\/p>\n<pre><code class=\"plaintext\">bot.hears('hi', (ctx) =&gt; ctx.reply('Hey there'))<\/code><\/pre>\n<p>\nresponder \"Hey there\" se algu\u00e9m disser 'hi'<br \/>\nbot.launch()<\/p>\n<p><img decoding=\"async\" alt=\"Guia: como criar um bot simples para Telegram em JS para iniciantes em programa\u00e7\u00e3o\" src=\"\/wp-content\/uploads\/2019\/04\/d2a52f8feb46ff67ee39622c56e8ce8e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSe voc\u00ea olhar o c\u00f3digo em <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/b0tank\/bot\/blob\/master\/index.js\">github<\/a><\/noindex>, voc\u00ea rapidamente perceber\u00e1 que n\u00e3o me afastei muito dessa funcionalidade. O que \u00e9 usado ativamente \u00e9 a fun\u00e7\u00e3o <code>ctx.replyWithPhoto<\/code> Ela permite enviar uma foto ou gif espec\u00edfico em resposta a um texto definido. <\/p>\n<p>Uma parte significativa do c\u00f3digo foi escrita por crian\u00e7as de 11 a 13 anos, a quem eu dei acesso ao bot. Eles introduziram seus pr\u00f3prios casos de uso. Acho que \u00e9 f\u00e1cil identificar qual parte foi feita por eles.<\/p>\n<p>Por exemplo, para a mensagem \"jake\", um gif de um personagem famoso do desenho animado Hora de Aventura \u00e9 enviado. <\/p>\n<p><img decoding=\"async\" alt=\"Guia: como criar um bot simples para Telegram em JS para iniciantes em programa\u00e7\u00e3o\" src=\"\/wp-content\/uploads\/2019\/04\/56bdcb4dde80c032c225726b88417fb4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPara desenvolver o bot mais, ao conectar o teclado, \u00e9 necess\u00e1rio ver exemplos, como <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/telegraf\/telegraf\/tree\/develop\/docs\/examples\">daqui<\/a><\/noindex><\/p>\n<p><b>11. Como atualizar o c\u00f3digo e reiniciar o bot<\/b><\/p>\n<p>N\u00e3o esque\u00e7a que voc\u00ea precisa atualizar o c\u00f3digo n\u00e3o apenas no GitHub, mas tamb\u00e9m no servidor. \u00c9 f\u00e1cil fazer isso \u2014 pare o bot (pressione ctrl+c),<\/p>\n<p> \u2014 insira no console, estando na pasta de destino, <code>git pull<\/code><br \/>\n \u2014 reinicie o bot com o comando <code>node index.js<\/code><\/p>\n<p><b>FIM<\/b><\/p>\n<p>Muitas coisas descritas neste arquivo ser\u00e3o super \u00f3bvias para programadores experientes. No entanto, quando eu mesmo tentei fazer a transi\u00e7\u00e3o para o mundo dos bots de uma vez, senti falta de um guia como este. Um guia que n\u00e3o ignora o que \u00e9 \u00f3bvio e simples para qualquer especialista em TI. <\/p>\n<p>No futuro, planejo escrever um post sobre como criar seu primeiro aplicativo em React Native nesse mesmo estilo, ent\u00e3o siga-nos!<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/447006\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042f \u043d\u0430\u0447\u0430\u043b \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0432 \u043c\u0438\u0440 IT \u043b\u0438\u0448\u044c \u0442\u0440\u0438 \u043d\u0435\u0434\u0435\u043b\u0438 \u043d\u0430\u0437\u0430\u0434. \u0421\u0435\u0440\u044c\u0435\u0437\u043d\u043e, \u0442\u0440\u0438 \u043d\u0435\u0434\u0435\u043b\u0438 \u043d\u0430\u0437\u0430\u0434 \u044f \u0434\u0430\u0436\u0435 \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043b \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 HTML, \u0430 \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 \u044f\u0437\u044b\u043a\u0430\u043c\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u043b\u043e\u0441\u044c \u0448\u043a\u043e\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 \u043f\u043e Pascal 10-\u043b\u0435\u0442\u043d\u0435\u0439 \u0434\u0430\u0432\u043d\u043e\u0441\u0442\u0438. \u041e\u0434\u043d\u0430\u043a\u043e \u044f \u0440\u0435\u0448\u0438\u043b\u0441\u044f \u043f\u043e\u0435\u0445\u0430\u0442\u044c \u0432 IT-\u043b\u0430\u0433\u0435\u0440\u044c, \u0434\u043b\u044f \u0434\u0435\u0442\u0435\u0439 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0431\u043e\u0442\u0430. \u042f \u0440\u0435\u0448\u0438\u043b, \u0447\u0442\u043e \u044d\u0442\u043e \u0432\u0440\u044f\u0434 \u043b\u0438 \u0442\u0430\u043a \u0441\u043b\u043e\u0436\u043d\u043e. \u0421 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23020,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31044","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042f \u043d\u0430\u0447\u0430\u043b \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0432 \u043c\u0438\u0440 IT \u043b\u0438\u0448\u044c \u0442\u0440\u0438 \u043d\u0435\u0434\u0435\u043b\u0438 \u043d\u0430\u0437\u0430\u0434. \u0421\u0435\u0440\u044c\u0435\u0437\u043d\u043e, \u0442\u0440\u0438 \u043d\u0435\u0434\u0435\u043b\u0438 \u043d\u0430\u0437\u0430\u0434 \u044f \u0434\u0430\u0436\u0435 \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043b \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 HTML, \u0430 \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 \u044f\u0437\u044b\u043a\u0430\u043c\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u043b\u043e\u0441\u044c \u0448\u043a\u043e\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 \u043f\u043e Pascal 10-\u043b\u0435\u0442\u043d\u0435\u0439 \u0434\u0430\u0432\u043d\u043e\u0441\u0442\u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/rukovodstvo-kak-sdelat-prostogo-bota-dlya-telegram-na-js-dlya-novichka-v-programmirovanii\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e: \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0431\u043e\u0442\u0430 \u0434\u043b\u044f \u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c \u043d\u0430 JS \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u0430 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042f \u043d\u0430\u0447\u0430\u043b \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0432 \u043c\u0438\u0440 IT \u043b\u0438\u0448\u044c \u0442\u0440\u0438 \u043d\u0435\u0434\u0435\u043b\u0438 \u043d\u0430\u0437\u0430\u0434. \u0421\u0435\u0440\u044c\u0435\u0437\u043d\u043e, \u0442\u0440\u0438 \u043d\u0435\u0434\u0435\u043b\u0438 \u043d\u0430\u0437\u0430\u0434 \u044f \u0434\u0430\u0436\u0435 \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043b \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 HTML, \u0430 \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 \u044f\u0437\u044b\u043a\u0430\u043c\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u043b\u043e\u0441\u044c \u0448\u043a\u043e\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 \u043f\u043e Pascal 10-\u043b\u0435\u0442\u043d\u0435\u0439 \u0434\u0430\u0432\u043d\u043e\u0441\u0442\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/rukovodstvo-kak-sdelat-prostogo-bota-dlya-telegram-na-js-dlya-novichka-v-programmirovanii\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:39:05+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:39:05+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Guia: como fazer um bot simples para Telegram em JS para iniciantes em programa\u00e7\u00e3o | ProHoster","description":"Eu comecei a mergulhar no mundo da TI h\u00e1 apenas tr\u00eas semanas. S\u00e9rio, tr\u00eas semanas atr\u00e1s eu nem entendia a sintaxe HTML, e meu contato com linguagens de programa\u00e7\u00e3o se limitava ao curso escolar de Pascal, de h\u00e1 10 anos.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/rukovodstvo-kak-sdelat-prostogo-bota-dlya-telegram-na-js-dlya-novichka-v-programmirovanii","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e: \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0431\u043e\u0442\u0430 \u0434\u043b\u044f \u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c \u043d\u0430 JS \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u0430 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 | ProHoster","og:description":"\u042f \u043d\u0430\u0447\u0430\u043b \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0432 \u043c\u0438\u0440 IT \u043b\u0438\u0448\u044c \u0442\u0440\u0438 \u043d\u0435\u0434\u0435\u043b\u0438 \u043d\u0430\u0437\u0430\u0434. \u0421\u0435\u0440\u044c\u0435\u0437\u043d\u043e, \u0442\u0440\u0438 \u043d\u0435\u0434\u0435\u043b\u0438 \u043d\u0430\u0437\u0430\u0434 \u044f \u0434\u0430\u0436\u0435 \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043b \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 HTML, \u0430 \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 \u044f\u0437\u044b\u043a\u0430\u043c\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u043b\u043e\u0441\u044c \u0448\u043a\u043e\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 \u043f\u043e Pascal 10-\u043b\u0435\u0442\u043d\u0435\u0439 \u0434\u0430\u0432\u043d\u043e\u0441\u0442\u0438.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/rukovodstvo-kak-sdelat-prostogo-bota-dlya-telegram-na-js-dlya-novichka-v-programmirovanii","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:39:05+00:00","article:modified_time":"2019-10-31T18:39:05+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31044","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 04:16:23","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 13:23:43","updated":"2026-01-21 04:16:23","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/31044","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=31044"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/31044\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/23020"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=31044"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=31044"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=31044"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}