May 20, 2023

Запуск скрипта Python на VDS в режиме 24/7 + автозапуск после перезагрузки.

Сделаем простого бота

Для начала, нам нужно будет установить несколько пакетов Python:

pip install pytelegrambotapi
pip install pyttsx3

Затем, создадим новый бот в телеграм:

  1. Открываем телеграм
  2. Ищем @BotFather
  3. Нажимаем "Start"
  4. Следуем инструкциям

Получаем токен нашего бота.

Теперь, приступим к написанию кода.

import telebot
import pyttsx3

bot_token = "TOKEN" # здесь должен быть ваш токен бота

bot = telebot.TeleBot(bot_token)

@bot.message_handler(func=lambda m: True)
def text_to_speech(message):
engine = pyttsx3.init()
engine.setProperty('voice', "russian") # можно выбрать другой голос
engine.say(message.text)
engine.runAndWait()
engine.stop()

bot.polling()

Код выше принимает любое входящее сообщение, использует библиотеку pyttsx3 для преобразования текста в речь и отвечает пользователю звуком.

Наконец, остановим бота и сохраним код в файле bot.py.

Чтобы запустить бота на своем компьютере, нужно ввести в терминале:

python bot.py

И теперь, ваш бот готов к использованию!

Шаги для установки:

  1. Установите Python на свой компьютер, если у вас его еще нет.
  2. Установите необходимые пакеты, как указано выше.
  3. Создайте нового бота в телеграм и получите токен.
  4. Скопируйте код в файл bot.py.
  5. Запустите bot.py в терминале.
  6. Готово! Теперь вы можете использовать вашего бота.

Как установить бота на VDS.

  1. Начните с настройки VDS сервера. Выберите провайдера, который лучше всего соответствует вашим потребностям и бюджету.
  2. После настройки сервера можно приступать к установке бота. Для этого нужно подключиться к серверу с помощью SSH-клиента, такого как Putty.
  3. После подключения к серверу нужно установить Python, если еще не установлен. Для установки Python 3 на Ubuntu Linux, используйте следующие команды:
    sudo apt update sudo apt install python3
  4. При установке Питона также установите необходимые библиотеки, используя команды pip:
    sudo apt install python3-pip pip3 install pytelegrambotapi pip3 install pyttsx3
  5. Скопируйте файлы bot.py на сервер, используя удобный для вас способ. Например, вы можете использовать FTP клиент, такой как FileZilla.
  6. Запустите бота с помощью команды:
    python3 bot.py & Знак амперсанда & означает, что процесс должен быть запущен в фоновом режиме.
  7. Теперь ваш бот должен работать постоянно в режиме 24/7. Если вы хотите остановить бота, используйте команду:
    ps aux | grep bot.py # найдите ID процесса kill ID # остановите процесс по ID

Теперь вы знаете, как установить Python, необходимые библиотеки и запустить бота на VDS сервере!

Как сделать, чтобы бот автоматически запускался при перезагрузке сервера.

  1. Создайте новый файл с расширением .service в директории /etc/systemd/system/. Например, /etc/systemd/system/telegram-bot.service.
    sudo nano /etc/systemd/system/telegram-bot.service
  2. Добавьте в файл следующий код:
    [Unit]
    Description=Telegram Bot
    After=multi-user.target

    [Service]
    Type=simple
    ExecStart=/usr/bin/python3 /path/to/bot.py
    Restart=always
    RestartSec=10
    User=<username> # замените на ваше имя пользователя

    [Install]
    WantedBy=multi-user.target

    Замените /path/to/bot.py на фактический путь к файлу bot.py. Используйте команду whoami, чтобы узнать своё имя пользователя для замены <username>. Это сообщит системе, какой пользователь должен запускать скрипт.
  3. Сохраните файл, используя команду Ctrl+X, затем Y.
  4. Затем нужно запустить следующую команду:
    sudo systemctl daemon-reload Эта команда сообщит демону systemctl, что была добавлена новая служба.
  5. Запустите свежую службу с помощью следующей команды:
    sudo systemctl start telegram-bot.service Проверьте, работает ли служба, используя команду:
    sudo systemctl status telegram-bot.service Последняя команда позволит проверить, работает ли служба корректно.
  6. Если служба работает корректно, активируйте её с помощью команды:
    sudo systemctl enable telegram-bot.service Это сообщит системе, что службу нужно запускать автоматически при перезагрузке сервера.

Теперь ваш бот автоматически будет запускаться при запуске сервера или при его перезагрузке.