Varför GCP?
När jag skrev telegram för botar stötte jag på frågan om hur man snabbt och kostnadsfritt får boten att fungera hela tiden. Alternativen för Heroku och Pythonanywhere är alldeles för låga om du har mer än en bot. Så jag bestämde mig för att använda GCP. Plattformen ger 300 $ för ett år gratis + enorma rabatter när du använder dessa medel (upp till 94%).

Hur är du värd för din bot?
Steg 1: Registrera dig för GCP
Gå till webbplatsen och klicka Kom igång gratis.

Ange dina uppgifter och kort. Pengar från kortet kommer inte att debiteras om du inte själv aktiverar det betalda abonnemanget.

Steg 2. Skapa en virtuell maskin
Efter registrering kommer du att hitta dig själv på tjänstens huvudsida. Du måste välja fliken Compute Engine i avsnittet Resurser.

Du måste skapa en ny instans.

Om du inte ska driftsätta databasen på virtuell maskin, då kan du ta g1-small, annars rekommenderar jag n1-standard.

Du måste också välja operativsystemet. Jag valde Debian GNU /Linux 9 (utsträckning).

Det är allt, den virtuella datorn skapas. Dess vanliga driftsättning tar från 1 till 5 minuter.
Steg 3: Konfigurera den virtuella maskinen
Du kan ansluta via SSH från din PC eller interagera via plattformen.
För att göra detta, klicka på SSH.
![]()
En terminal öppnas för dig. Linux i ett nytt fönster.

Låt oss nu gå vidare till inställningen. Ange först kommandot:
sudo apt-get updateför att uppdatera information om de senaste paketversionerna.
Efter att vi gått in:
sudo apt-get install python3-setuptools
sudo apt-get install python3-pipPython i sig behöver inte installeras, den finns redan där.
Nu måste du installera alla nödvändiga bibliotek. Det finns en liten nyans, alla bibliotek måste installeras två gånger:
pip3 install ‘name_of_package’för användning via kommandot python3, och
sudo pip3 install ‘name_of_package’ för systemd. Det här verktyget hjälper dig att starta boten och starta om den om den kraschar.
Det enklaste sättet att köra boten är genom python3, men den stängs av om du kopplar bort. Du kan använda skärmen, men boten startar inte om sig själv. Du kan också använda crontab med en portkontroll, men jag tror att det här alternativet är mer komplicerat än systemd.
Steg 4. Ladda upp boten till servern
Det finns två sätt att ladda upp din bot. Om du inte är Git-vänlig kan du helt enkelt zippa boten till .tar och ladda upp den till servern:

Efter det packar du upp det med kommandot:
tar -xvf yourfile.tarNu är din bot lagrad i en mapp med namnet på arkivet.
Det andra sättet är genom Git. Jag tycker att det inte är värt att förklara hur man gör det för folk som vet hur man använder det.
Efter att ha installerat det med kommandot:
sudo apt install gitDu kan klona den till din virtuella dator.
Efter det går vi vidare till att ställa in systemd. För att göra detta, gå till dess katalog:
cd /etc/systemd/systemOch skapa en bot.service-fil:
sudo nano bot.serviceSkriv in följande i fönstret som öppnas:
[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
Stäng och spara filen. Stängs med Ctrl+X.
Efter det anger du kommandona i tur och ordning:
sudo systemctl daemon-reload
sudo systemctl enable bot
sudo systemctl start bot
sudo systemctl status bot
Om allt går bra kommer du att se något sånt här:

Allt, nu fungerar din bot självständigt. Jag hoppas att min artikel hjälper dig att vara värd för din bot.
PS
1. Kontrollera din bot för fel
Starta din bot och testa den innan du kör den genom systemd. För att göra detta, gå till mappen med boten och kör igenom python.
cd <папка вашего бота>
python3 bot.py2. Lägg till kodning till filer med py-skript
#!/usr/bin/env python
# -*- coding: utf-8 -*-
Infoga i början av filen.
3. Buggar i systemd
Om du kontrollerade boten för fel och den fungerade bra, men den inte vill köra i systemd, kan du titta på loggarna och förstå vad felet är genom att titta på filen:
sudo nano /var/log/syslogDu kan ladda ner den här filen och visa den på din dator med Notepad++.
4.Botuppdatering
Om du vill lägga till eller ladda upp en ny version av boten anger du kommandot:
sudo systemctl stop botSe alla nödvändiga manipulationer. Och skriv sedan in följande kommandon för att få det att fungera igen:
sudo systemctl daemon-reload
sudo systemctl start bot
sudo systemctl status botKälla: will.com
