DzenIT

HOME ZEN IT SOFT APK LIVE GAME OTHER W CONTACT SEARCH

Настройка VDS сервера для telegram bot

Рано или поздно приходиться выбирать сервер для telegram бота. Поэтому я написал эту шпаргалку - как выбрать и настроить сервер на начальном этапе.

Настройка VDS для bot telegram

Когда мы получили доступ в консоль, обычно под рутом (#root). Первым делом нужно обновить систему:

sudo apt update
sudo apt upgrade

Настраиваем время сервера

dpkg-reconfigure tzdata

Устанавливаем самый необходимый софт: текстовый редактор и мониторинг ресурсов

sudo apt install htop
sudo apt install nano

Проверяем версию нашего python3, т.к. это может повлиять на работу скриптов

python3 -V
Устанавливаем pip3 
sudo apt install python3-pip

Обновляем pip3 до последней версии

pip3 install --upgrade pip

Ставим необходимые модули, вот мой минимальный список

python3 -m pip install requests
python3 -m pip install telebot
python3 -m pip install pytelegrambotapi
python3 -m pip install lxml
python3 -m pip install python-telegram-bot
python3 -m pip install transliterate
python3 -m pip install beautifulsoup4
python-telegram-bot==12.4.2

Закончив с установкой модулей и проверив работоспособность нашего бота, нужно запустить daemon, чтобы наш бот телеграма работал беспрерывно и в случае падения запускался снова самостоятельно. Создаем файл bot.service в /etc/systemd/system

sudo nano /etc/systemd/system/bot.service

Заполняем его. Желтым я выделил параметры, которые у каждого свои - имя, директория, название скрипта

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

[Service]
Type=simple
User=dzenit
WorkingDirectory=/home/dzenit
ExecStart=/usr/bin/python3 /home/dzenit/wm.py
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Добавляем наш daemon, стартуем и проверяем статус

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


Если всё сделано правильно - мы увидим активную работу нашего скрипта

запущенный бот в сервисах

Были проблемы с латиницей, запускай скрипты через команду

PYTHONIOENCODING=utf-8 python3 main.py

ps. некоторые библиотеки питона 3,6 уже не поддерживаються, вот список моих с их версиями