Alojamiento gratuito de bots de Telegram en Google Cloud Platform

¿Por qué GCP?


Al escribir telegramas en bots, me encontré con la cuestión de cómo hacer que el bot funcione de forma rápida y gratuita constantemente. Las opciones con Heroku y Pythonanywhere tienen límites demasiado pequeños si tienes más de un bot. Entonces decidí usar GCP. La plataforma ofrece $ 300 gratis por año + grandes descuentos en el uso de estos fondos (hasta 94%).


¿Cómo alojar tu bot?


Paso 1. Regístrese para GCP


Vaya al sitio web de GCP y haga clic en Comenzar de forma gratuita .

Ingrese sus datos y tarjeta. El dinero de la tarjeta no se cargará si usted mismo no activa una suscripción paga.


Paso 2. Crear una máquina virtual


Después del registro, estará en la página principal del servicio. Debe seleccionar la pestaña Compute Engine en la sección Recursos.

Debes crear una nueva instancia.


Si no va a implementar la base de datos en una máquina virtual, puede tomar g1-small, de lo contrario, le aconsejo n1-standart.


También deberá elegir un sistema operativo. Elegí Debian GNU / Linux 9 (estiramiento).


Toda la VM creada. La implementación convencional lleva de 1 a 5 minutos.

Paso 3. Configurar la máquina virtual


Puede conectarse a través de SSH desde su PC o interactuar a través de la plataforma.
Para hacer esto, haga clic en SSH.


Su terminal de Linux se abrirá en una nueva ventana.


Ahora pasemos a la configuración. Primero, ingrese el comando:

sudo apt-get update

para actualizar la información sobre las últimas versiones del paquete.

Luego de ingresar:

sudo apt-get install python3-setuptools
sudo apt-get install python3-pip

Python en sí no necesita ser instalado, ya existe.

Ahora necesita instalar todas las bibliotecas necesarias. Hay un pequeño matiz, todas las bibliotecas deben instalarse dos veces:

pip3 install ‘name_of_package’

para usar mediante el comando python3, y

sudo pip3 install ‘name_of_package’

para systemd. Esta utilidad te ayudará a iniciar el bot y reiniciarlo si falla.
La forma más fácil de ejecutar el bot a través de python3, pero se apagará si lo desconecta. Puede usar la pantalla, pero el bot no se reiniciará. También puede usar crontab con comprobación de puerto, pero me parece que esta opción es más complicada que systemd.

Paso 4. Llena el bot al servidor


Hay dos formas de llenar tu bot. Si no eres amigo de Git, puedes simplemente archivar el bot en .tar y subirlo al servidor:


Después de eso, descomprímalo con el comando:

tar -xvf yourfile.tar

Ahora su bot está almacenado en una carpeta con el nombre del archivo.

La segunda forma es a través de Git. Creo que no vale la pena explicar cómo hacer esto a las personas que saben cómo usarlo.

Después de instalarlo con el comando:

sudo apt install git

Puede clonarlo en su VM.

Después de eso, pasemos a configurar systemd. Para hacer esto, vaya a su directorio:

cd /etc/systemd/system

Y cree el archivo bot.service:

sudo nano bot.service

Ingrese lo siguiente en la ventana que se abre:


[Unit]
Description=Telegram bot ' '
After=syslog.target
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/home/  /     
ExecStart=/usr/bin/python3 /home/  /     /bot.py

RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Cierra y guarda el archivo. Cierra con el comando Ctrl + X.

Después de eso, ingrese los comandos por turno:

sudo systemctl daemon-reload
sudo systemctl enable bot
sudo systemctl start bot
sudo systemctl status bot

Si todo va bien, verá algo como lo siguiente:


Eso es todo, ahora tu bot funciona de forma independiente. Espero que mi artículo te ayude a alojar tu bot.

PD


1.Compruebe su bot por errores


Inicie su bot y pruebe su funcionamiento antes de iniciarlo a través de systemd. Para hacer esto, vaya a la carpeta con el bot y ejecute Python.

cd <  >
python3 bot.py

2. Agregue codificación a los archivos con scripts py


#!/usr/bin/env python
# -*- coding: utf-8 -*-

Insertar al principio del archivo.

3.Errores en systemd


Si revisó el bot en busca de errores y funcionó bien, pero no quiere iniciarse en systemd, puede mirar los registros y comprender cuál es el error mirando el archivo:

sudo nano /var/log/syslog

Puede descargar este archivo y verlo en su computadora a través de Notepad ++.

4.Bot actualización


Si desea agregar o cargar una nueva versión del bot, ingrese el comando:

sudo systemctl stop bot

Proporcionar todas las manipulaciones necesarias. Y luego ingrese los siguientes comandos para que funcione nuevamente:

sudo systemctl daemon-reload
sudo systemctl start bot
sudo systemctl status bot

All Articles