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

Jul 9, 2024

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

Введение

  • Сегодня мы рассмотрим как разместить телеграм бота на сервере
  • Запуск в автозагрузку с помощью создания юнита
  • Юнит: файл с конфигурацией (несколько секций с параметрами)
  • С помощью юнита можно запускать любые скрипты
  • Преимущества метода: удобство и простота
  • Можно создавать множество юнитов (с учётом конфигурации сервера)
  • Пример: десятки ботов и парсеров на дешёвой машине

Пример простого бота

  • Задача: слать сообщения с текущим временем каждые 10 секунд
  • Необходимо вставить свой токен и ID пользователя
  • Пример бота доступен в нашем Telegram канале
  • Скрипт запускается и каждые 10 секунд отправляет текущее время на локальной машине

Настройка сервера

  • Подключаемся к VPS
  • Загружаем скрипт на сервер (автор использует сервера от zombra)
  • Установка и активация виртуального окружения
  • Установка нужной библиотеки

Создание юнита

  • Создаем файл с расширением .service
  • Первая секция: Unit
    • Основная информация о юните
    • Описание и зависимость
    • Пример: запуск после многопользовательского режима (multi-user.target)
  • Вторая секция: Service
    • Тип: simple (обычная программа)
    • ExecStart: полный путь к исполняемому файлу
    • WorkingDirectory: эмуляция команды cd
    • Restart: настройки перезагрузки процесса (например, always)
  • Третья секция: Install
    • Параметр WantedBy: указывает запуск на уровне multi-user без графики

Запуск и проверка

  • Копирование файла в /etc/systemd/system
  • Добавление юнита в автозагрузку: sudo systemctl enable
  • Перезапуск сервиса: sudo systemctl restart
  • Проверка работы бота: бот должен запускаться и отправлять сообщения
  • Перезагрузка сервера: бот автоматически перезапускается

Останов и удаление сервиса

  • Команда остановки: sudo systemctl stop <имя сервиса>
  • Удаление файла сервиса при ненадобности

Заключение

  • Развертывание скрипта бота на сервере, устойчивого к перезагрузкам
  • Польза и интересность видео
  • Призывать к лайкам и комментариям для обратной связи
  • Благодарность за просмотр
  • Призыв к подписке и пожелания здоровья