DEV Community

enzotrucchi
enzotrucchi

Posted on

Telegram Bot - Parte 3: Deploy a Heroku

脷ltima parte de nuestro primer proyecto de fin de semana.
馃摙馃摙 Vamos a deployear nuestro c贸digo y dejar el peque帽o bot operativo en Telegram.

Vamos a necesitar un proveedor de hosting para mantener operativo nuestro bot. Si bien existen varios, en este caso eleg铆 Heroku por el plan gratuito que nos brinda.

Primero, una peque帽a intro-recordatorio de qu茅 es Heroku, el gran servicio que vamos a utilizar en esta etapa de nuestro proyecto:

Heroku es una soluci贸n de Plataforma como Servicio (PaaS) basada en la nube para que el cliente solo se preocupe de desarrollar su aplicaci贸n mientras Heroku se encarga de la infraestructura que hay detr谩s.

驴Es gratis? 馃槓

Adem谩s de poseer planes de pago, Heroku pone a nuestra disposici贸n un plan gratuito, lo que hay que tener en cuenta es que si una aplicaci贸n no recibe ninguna solicitud en 30 minutos, entrar谩 en modo suspensi贸n, por lo que a la siguiente petici贸n se levantar谩 de nuevo, lo que tardar谩 m谩s tiempo de que la primera petici贸n (muy peque帽o).

驴Qu茅 lenguajes soporta? 鉁

Actualmente, y seg煤n el sitio oficial:

  • NodeJS.
  • Ruby.
  • Java.
  • PHP.
  • Python.
  • Go.
  • Scala.
  • Clojure. 聽

Manos a la obra

Creando el archivo Procfile

Primero, nuestro archivo Procfile, encargado de configurar los pasos de deployment y el que opcionalmente puede inclu铆r las instrucciones para inicializar nuestro proyecto. M谩s info disponible en la Procfile documentaci贸n oficial

En la ra铆z del proyecto, creamos el archivo indicado con el siguiente contenido:

worker: node bot.js
// En mi caso bot.js indica el nombre de mi archivo.
Enter fullscreen mode Exit fullscreen mode

Creamos la aplicaci贸n en Heroku

Desde el panel de administraci贸n de Heroku (despu茅s de crear nuestra cuenta), vamos a Nueva -> Nueva App. Adem谩s del nombre y la regi贸n, podemos seleccionar el m茅todo de deployment.

No es necesario conectarlo a Github si no la seleccionamos. En mi caso, en el primero bot no lo hice, en el segundo si (siempre est谩 bien probar las opciones disponibles)

Deployeamos desde terminal

Volvemos a nuestra terminal y escribimos lo siguiente:

heroku login

heroku git:remote -a NombreDeMiBot

git add .

git commit -m "First commit"
// Push a Heroku!
git push heroku main
Enter fullscreen mode Exit fullscreen mode

鉁ㄢ湪鉁ㄢ湪 Super aclaraci贸n 鉁ㄢ湪鉁ㄢ湪

Si queremos que nuestra app sea m谩s segura, en este punto no deber铆amos "exponer" nuestro token (hardcodeado en la parte 1 del tutorial) y en cambio utilizar las Variables de Entorno:
TELEGRAF_KEY: token_obtenido_de_botFather

Tambi茅n podr铆amos configurarlo desde terminal:

 heroku config:set TELEGRAF_KEY=99999999999999
Enter fullscreen mode Exit fullscreen mode

El paso siguiente es ir a la pesta帽a Resources:

  • deshabilitar web npm start (para aplicaciones webs)
  • habilitar worker node bot.js

ResourcesHeroku

Listo! Tenemos nuestro bot funcionando!

驴Te sirvi贸 el post?
Copate compartiendo y

Invitame un caf茅 en cafecito.app

Discussion (0)