Комментарии 16
А почему вы не использовали докер? Намного же проще — упаковать бота в контейнер(ы) и запустить его на ВМ без необходимости что-либо (кроме самого докера) ставить и как-то администрировать.
Думал об этом. Но решил, что для первого туториала — это будет несколько труднее. Обязательно реализую это в следующей статье
Причем есть уже много контейнеров готовых для Telegram-ботов, бери и пользуйся
Спасибо. Пожалуй в следующей статье это и покажу
Концептуально это сложнее. Очевидно что статья для новичков ("Что такое виртуальная машина"), и ещё один уровень абстракции может человека окончательно запутать.
Ещё один уровень абстракции в данном случае как раз позволяет не думать/не объяснять что такое виртуальная машина, как её создать, как настроить, какую выбрать ОС, какую версию питона поставить (написано ставим последнюю, а на деле 3.8.5, хотя уже есть 3.9.2) и много других. Настройка ВМ намного сложнее и выше риск, что что-то пойдет не так. Плюс это ещё и дороже будет, чем контейнер задеплоить. Короче ИМХО виртуальная машина по всем пунктам хуже контейнера для «первого погружения» в написание бота.
Например, pytelegrambotapi — это ведь тоже абстракция, которая скрывает все нюансы работы с API и ботом.
Посмотрите в сторону aiogram.
UPD:
пока комментарий одобрял модератор выше уже появилось замечание про этот момент.
Использовал как руководство, спасибо! В целом, всё получилось, замечание небольшое, вот тут:
[Service]
EnvironmentFile=/etc/environment
ExecStart=/home/НазваниеБота/venv/bin/python main.py
ExecReload=/home/НазваниеБота/venv/bin/python main.py
WorkingDirectory=/home/НазваниеБота/
Не "НазваниеБота" наверное правильнее, а название папки, где бот лежит, и вообще адрес до папки, потом /venv/bin/python НазаниеФайла.py
Создание Python Telegram бота и его deploy на виртуальную машину