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

Top comments (0)