Desenvolvendo um bot para o telegram: Setup inicial
Tags: javascript, gcp, tutorial, bot
Published: 2020-01-25 23:03:13

---
title: Desenvolvendo um bot para o telegram: Setup inicial
published: true
description: Tutorial desenvolvendo um bot que converte texto para aúdio e aúdio para texto no telegram
tags: #javascript #gcp #tutorial #bot
---

Hoje iremos iniciar o desenvolvimento de um bot para o Telegram, a ideia desse projeto é que o nosso bot realize a conversão de um texto para áudio e um áudio para texto. Isso pode ser útil nos momentos que não podemos ouvir um áudio(então iremos converter para texto) ou nos momentos que não conseguimos ler um texto(então iremos converter para áudio).

Esse projeto será um série de posts.

## Telegram

O Telegram é um serviço de mensagens instantâneas(similar ao WhatsApp), ele pussui uma API (Application Programming Interface) que possibilita que você utilize diversos serviços, mas o que nos interessa é parte dos bots.

Você pode criar bots que serão executados dentro do telegram, e os usuários poderão interagir com eles, você pode criar diversos tipos de serviços e monetizar eles.

Nesse [post](https://botanalytics.co/blog/2017/06/19/make-chat-better-with-20-best-telegram-bots/) tem uma lista de bots mais utilizados.

Obs: Para prosseguir nesse tutorial é necessário ter uma conta no [Telegram](https://telegram.org/).

## GCP

Nesse projeto iremos utilizar o GCP(Google Cloud Platform) que é uma suíte de computação em nuvem oferecida pelo Google. Para ser mais específico iremos utilizar os seguintes serviços:

- **Text to Speech** que realiza a conversão de texto para áudio
- **Speech to Text** que realiza conversão de áudio para texto

Obs: Para prosseguir nesse tutorial é necessário ter uma conta no [GCP](https://cloud.google.com/).

## Criando o bot no telegram

Para criarmos um bot precisaremos da ajuda do BotFather(Ele é o pai dos bots e é a partir dele que criamos nosso bot), iremos na barra de busca e pesquisaremos por *BotFather*.

![Procurando pelo BotFather](https://res.cloudinary.com/dir3du3ky/image/upload/v1579989511/search-telegram-bot_llxjar.jpg)

Ao clicar nele iremos clicar no botão de **start**.

![Tela inicial do BotFather](https://res.cloudinary.com/dir3du3ky/image/upload/v1579989511/start-telegram-bot_litumu.jpg)

E ele vai exibir uma série de comandos que podemos utilizar, no nosso caso iremos utilizar o comando **/newbot**, esse comando é utilizado para a criação de um novo bot.

![Lista de comandos BotFather](https://res.cloudinary.com/dir3du3ky/image/upload/v1579989511/see-commands_utqlxe.jpg)

Depois que enviarmos esse comando ele vai pedir algumas informações do seu bot como:

- Nome do bot
- Username(que deve finalizar com a palavra bot)

![Configurando nome e username](https://res.cloudinary.com/dir3du3ky/image/upload/v1579989511/name-and-username_nw711a.jpg)

E no final ele irá gerar um token, guarde esse token pois iremos utilizar para o desenvolvimento do bot.

![Token de acesso do bot telegram](https://res.cloudinary.com/dir3du3ky/image/upload/v1579989511/token_hmudib.jpg)

Concluindo esses passos já temos o necessário para desenvolvermos um bot para o telegram.

## Criando um projeto no GCP

Para criar um novo projeto iremos clicar em **My First Project**(Pode ser que esteja com outro nome para você, mas é no mesmo local) na barra superior.

![Novo projeto](https://res.cloudinary.com/dir3du3ky/image/upload/v1579989708/click-my-first-project_w1ojha.png)

Iremos clicar em **novo projeto**.

![Criando um novo projeto](https://res.cloudinary.com/dir3du3ky/image/upload/v1579989708/new-project_pv9n3t.png)

Iremos adicionar o nome do projeto e então clicar em **criar**.

![Adicionando o nome do projeto](https://res.cloudinary.com/dir3du3ky/image/upload/v1579989708/creating-project_t5l4iw.png)

Com o projeto criado agora precisamos ativar os serviços que iremos utilizar, no nosso caso será o [Speech To Text](https://console.cloud.google.com/apis/library/speech.googleapis.com) e [Text to Speech](https://console.cloud.google.com/apis/library/texttospeech.googleapis.com).

![Ativando o serviço](https://res.cloudinary.com/dir3du3ky/image/upload/v1579989708/active-service_mhbkci.png)

Com os serviços ativos, iremos criar uma credencial para consumirmos essas API's. No menu lateral iremos em **API's e serviços** na opção **credenciais**.

![Menu lateral](https://res.cloudinary.com/dir3du3ky/image/upload/v1579989708/credentials-options_fssj6u.png)

Iremos clicar em **Criar credenciais** e na opção **Conta de serviço**

![Menu lateral com as opções de credenciais](https://res.cloudinary.com/dir3du3ky/image/upload/v1579989708/service-account_p23hud.png)

Iremos preencher as opções necessárias e clicar em criar.

![Preenchendo informações para criar as credenciais](https://res.cloudinary.com/dir3du3ky/image/upload/v1579989707/create-account-service_dsej2t.png)

Adicionaremos o tipo de permissão, iremos clicar em **Projeto** e depois na opção **Proprietário**, e clicar em **Continuar**.

![Adicionando o tipo de credencial](https://res.cloudinary.com/dir3du3ky/image/upload/v1579989707/acess-proprie_vtvfty.png)

Iremos clicar em **criar chave**.

![Clicando no botão para criar chave](https://res.cloudinary.com/dir3du3ky/image/upload/v1579989707/concluir_aafq8a.png)

Iremos escolher a opção **JSON**(Guarde esse arquivo e não compartilhe, pois ele dará acesso aos recursos do seu projeto), então clicaremos em **criar**.

![Escolhendo o tipo de credencial](https://res.cloudinary.com/dir3du3ky/image/upload/v1579989707/create-json-token_tjzv1m.png)

E depois clicaremos no botão **concluir**.

![Concluindo a criação de credencial](https://res.cloudinary.com/dir3du3ky/image/upload/v1579989707/concluir_aafq8a.png)

Essas são as configurações iniciais necessárias para iniciar o projeto, nos próximos post's iremos desenvolver a solução.

{% github https://github.com/thierrysantos/text-speech-telegram-bot %}