Hospedagem gratuita de bot de Telegram no Google Cloud Platform

Porquê o GCP?


Ao escrever telegramas para bots, me deparei com a questão de como fazer com que o bot funcione constantemente com rapidez e liberdade. As opções com Heroku e Pythonanywhere têm limites muito pequenos se você tiver mais de um bot. Então eu decidi usar o GCP. A plataforma oferece US $ 300 por ano grátis + grandes descontos no uso desses fundos (até 94%).


Como hospedar seu bot?


Etapa 1. Registre-se no GCP


Acesse o site do GCP e clique em Introdução gratuitamente .

Digite seus dados e cartão. O dinheiro do cartão não será debitado se você não ativar uma assinatura paga.


Etapa 2. Crie uma máquina virtual


Após o registro, você estará na página principal do serviço. Você precisa selecionar a guia Compute Engine na seção Resources.

Você deve criar uma nova instância.


Se você não implantar o banco de dados em uma máquina virtual, poderá usar g1-small, caso contrário, aconselho n1-standart.


Você também precisará escolher um sistema operacional. Eu escolhi o Debian GNU / Linux 9 (stretch).


Toda a VM criada. A implantação convencional leva de 1 a 5 minutos.

Etapa 3. Configure a máquina virtual


Você pode se conectar via SSH a partir do seu PC ou interagir através da plataforma.
Para fazer isso, clique em SSH.


O seu terminal Linux será aberto em uma nova janela.


Agora vamos à configuração. Primeiro, digite o comando:

sudo apt-get update

para atualizar informações sobre as versões mais recentes do pacote.

Depois que entramos:

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

O próprio Python não precisa ser instalado, ele já existe.

Agora você precisa instalar todas as bibliotecas necessárias. Há uma pequena nuance, todas as bibliotecas devem ser instaladas duas vezes:

pip3 install ‘name_of_package’

para uso via comando python3 e

sudo pip3 install ‘name_of_package’

para systemd. Este utilitário irá ajudá-lo a iniciar o bot e reiniciá-lo se ele travar.
A maneira mais fácil de executar o bot no python3, mas ele será desativado se você se desconectar. Você pode usar a tela, mas o bot não será reiniciado. Você também pode usar o crontab com verificação de portas, mas me parece que essa opção é mais complicada que o systemd.

Etapa 4. Encha o bot no servidor


Existem duas maneiras de preencher seu bot. Se você não é amigo do Git, pode simplesmente arquivar o bot em .tar e enviá-lo ao servidor:


Depois disso, descompacte-o com o comando:

tar -xvf yourfile.tar

Agora seu bot está armazenado em uma pasta com o nome do arquivo.

A segunda maneira é através do Git. Eu acho que você não deve explicar como fazer isso com pessoas que sabem como usá-lo.

Depois de instalá-lo com o comando:

sudo apt install git

Você pode cloná-lo na sua VM.

Depois disso, vamos à configuração do systemd. Para fazer isso, vá para o diretório:

cd /etc/systemd/system

E crie o arquivo bot.service:

sudo nano bot.service

Digite o seguinte na janela 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

Feche e salve o arquivo. Fecha com o comando Ctrl + X.

Depois disso, insira os comandos por sua vez:

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

Se tudo correr bem, você verá algo como o seguinte:


É isso, agora o seu bot funciona de forma independente. Espero que meu artigo o ajude a hospedar seu bot.

PS


1.Verifique se há erros no seu bot


Inicie seu bot e teste sua operação antes de iniciá-lo através do systemd. Para fazer isso, vá para a pasta com o bot e execute o python.

cd <  >
python3 bot.py

2. Adicione codificação aos arquivos com scripts py


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

Insira no início do arquivo.

3.Espelhos no systemd


Se você verificou o bot em busca de erros e ele funcionou bem, mas não deseja iniciar no systemd, você pode olhar para os logs e entender qual é o erro olhando para o arquivo:

sudo nano /var/log/syslog

Você pode baixar esse arquivo e visualizá-lo no seu computador através do Notepad ++.

Atualização 4.Bot


Se você deseja adicionar ou fazer upload de uma nova versão do bot, digite o comando:

sudo systemctl stop bot

Forneça todas as manipulações necessárias. E, em seguida, insira os seguintes comandos para que funcione novamente:

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

All Articles