Запуск скрипта Python на VDS в режиме 24/7 + автозапуск после перезагрузки.
Сделаем простого бота
Для начала, нам нужно будет установить несколько пакетов Python:
pip install pytelegrambotapi
pip install pyttsx3
Затем, создадим новый бот в телеграм:
Теперь, приступим к написанию кода.
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
. - Запустите
bot.py
в терминале. - Готово! Теперь вы можете использовать вашего бота.
Как установить бота на VDS.
- Начните с настройки VDS сервера. Выберите провайдера, который лучше всего соответствует вашим потребностям и бюджету.
- После настройки сервера можно приступать к установке бота. Для этого нужно подключиться к серверу с помощью SSH-клиента, такого как Putty.
- После подключения к серверу нужно установить Python, если еще не установлен. Для установки Python 3 на Ubuntu Linux, используйте следующие команды:
sudo apt update sudo apt install python3
- При установке Питона также установите необходимые библиотеки, используя команды pip:
sudo apt install python3-pip pip3 install pytelegrambotapi pip3 install pyttsx3
- Скопируйте файлы
bot.py
на сервер, используя удобный для вас способ. Например, вы можете использовать FTP клиент, такой как FileZilla. - Запустите бота с помощью команды:
python3 bot.py &
Знак амперсанда & означает, что процесс должен быть запущен в фоновом режиме. - Теперь ваш бот должен работать постоянно в режиме 24/7. Если вы хотите остановить бота, используйте команду:
ps aux | grep bot.py # найдите ID процесса kill ID # остановите процесс по ID
Теперь вы знаете, как установить Python, необходимые библиотеки и запустить бота на VDS сервере!
Как сделать, чтобы бот автоматически запускался при перезагрузке сервера.
- Создайте новый файл с расширением
.service
в директории/etc/systemd/system/
. Например,/etc/systemd/system/telegram-bot.service
.sudo nano /etc/systemd/system/telegram-bot.service
- Добавьте в файл следующий код:
[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>
. Это сообщит системе, какой пользователь должен запускать скрипт. - Сохраните файл, используя команду
Ctrl+X
, затемY
. - Затем нужно запустить следующую команду:
sudo systemctl daemon-reload
Эта команда сообщит демону systemctl, что была добавлена новая служба. - Запустите свежую службу с помощью следующей команды:
sudo systemctl start telegram-bot.service
Проверьте, работает ли служба, используя команду:sudo systemctl status telegram-bot.service
Последняя команда позволит проверить, работает ли служба корректно. - Если служба работает корректно, активируйте её с помощью команды:
sudo systemctl enable telegram-bot.service
Это сообщит системе, что службу нужно запускать автоматически при перезагрузке сервера.
Теперь ваш бот автоматически будет запускаться при запуске сервера или при его перезагрузке.