Тестирование и запуск телеграм бота на сервере

Запускаем Visual Studio Code, в нем запускаем терминал. Создадим и активируем виртуальное окружение :

python -m venv .venv 

venv\Scripts\activate.bat - для Windows
source .venv/bin/activate - для Linux и MacOS.

Далее устанавливаем необходимые библиотеки с помощью pip. Например :

pip install aiogram

Когда код бот будет написан, то перед заливкой его на сервер создадим файл — requirements.txt, с помощью команды :

pip freeze > requirements.txt

Заходим по SSH в каталог на сервере в которой будет запускаться бот, копируем туда все необходимые файлы (включая requirements.txt ) и создаем и активируем виртуальное окружение :

sudo apt install python3-venv
python3 -m venv venv
source venv/bin/activate

Далее устанавливаем необходимые библиотеки :

pip install -r requirements.txt

Теперь необходимо запустить бота, для этого создаем файл wwb.service(в данном случае имя бота — wwb) по пути /etc/systemd/system

Содержание файла такое (имя бота в примере wwb) :

[Unit]
Description=My Sample Telegram Bot
After=network.target

[Service]
User=root
WorkingDirectory=/home/gratz/Bots/wwb
ExecStart=/home/gratz/Bots/wwb/venv/bin/python /home/gratz/Bots/wwb/wwb.py
Restart=always

[Install]
WantedBy=multi-user.target

Далее запускаем и добавляем бота в автозагрузку:

systemctl start wwb
systemctl daemon-reload
systemctl enable wwb

Проверить работу бота можно командой :

systemctl status wwb

!!! wwb заменить на имя бота