Рано или поздно приходиться выбирать сервер для telegram бота. Поэтому я написал эту шпаргалку - как выбрать и настроить сервер на начальном этапе.
Когда мы получили доступ в консоль, обычно под рутом (#root). Первым делом нужно обновить систему:
sudo apt update sudo apt upgrade
Настраиваем время сервера
dpkg-reconfigure tzdata
Устанавливаем самый необходимый софт: текстовый редактор и мониторинг ресурсов
sudo apt install htop sudo apt install nano
Проверяем версию нашего python3, т.к. это может повлиять на работу скриптов
python3 -V Устанавливаем pip3sudo 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 уже не поддерживаються, вот список моих с их версиями