Как загрузить Телеграмм бота на сервер python

Для web-мастеров самым важным остается стабильность в работе серверов, однако как оперативно реагировать и устранять возникшие проблемы в их работе? С этой задачей лучше всего справится Telegram бот, написанный на Python, для мониторинга состояния Ubuntu сервера который будет автоматически отправлять Вам уведомления о недоступности тех или иных компонентов для оперативного реагирования и устранения возникших проблем.

Для автоматизации оповещений о недоступности веб-серверов Nginx, Apache, MySQL и других на Ubuntu сервере с помощью Telegram-бота на Python необходимо выполнить следующие шаги:

Установка необходимых пакетов

Перед тем как начать установку, необходимо убедиться, что сервер имеет Python 3, pip и git.

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

sudo apt update sudo apt install python3 python3-pip git

Создание нового Telegram-бота

Прежде чем мы начнем написание кода бота, необходимо создать Telegram-бота, получить его API-ключ и узнать ID вашего чата.

БЕСПЛАТНО Добавить телеграм бота на сервер Railway на Python

Для этого следуйте инструкциям, приведенным в этом руководстве: https://core.telegram.org/bots#6-botfather.

Клонирование репозитория для отправки уведомлений

Создайте новый каталог для проекта и склонируйте репозиторий, содержащий код для отправки уведомлений, с помощью следующих команд:

mkdir notify-telegram-bot cd notify-telegram-bot git clone https://github.com/python-telegram-bot/python-telegram-bot.git

Установка зависимостей

Перейдите в каталог python-telegram-bot, который вы только что склонировали, и установите зависимости с помощью команды:

cd python-telegram-bot pip3 install -r requirements.txt

Написание кода бота

Перейдем к написанию самого кода Telegram бота на Python, который будет выполнять мониторинг состояния Ubuntu сервера. Для этого откройте файл examples/echobot2.py с помощью любого текстового редактора и замените содержимое файла следующим кодом:

Еще по теме:  Заблокирвоали чат в телеге

import telegram import subprocess bot = telegram.Bot(token=’YOUR_API_KEY’) chat_id = ‘YOUR_CHAT_ID’ def is_server_up(service_name): process = subprocess.run([‘systemctl’, ‘status’, service_name], stdout=subprocess.PIPE) output = process.stdout.decode(‘utf-8’) return ‘Active: active (running)’ in output def check_services(): services = for service in services: if not is_server_up(service): message = services[service] + ‘ is not running!’ bot.send_message(chat_id=chat_id, text=message) if __name__ == ‘__main__’: check_services()

Замените YOUR_API_KEY на API-ключ вашего бота и YOUR_CHAT_ID на ID вашего чата.

Проверка бота

Сохраните файл и запустите его с помощью команды:

python3 echobot2.py

Если все настроено правильно, бот должен отправить сообщение в ваш Telegram-чат, указывая, что сервер недоступен.

Автоматизация проверки доступности сервера

Теперь, когда бот работает, необходимо настроить автоматическую проверку состояния сервера. Для этого создайте файл check_services.py с помощью любого текстового редактора и добавьте следующий код:

Телеграмм бот на Python. Выкладываем на сервер


import time import os while True: os.system(‘python3 /path/to/echobot2.py’) time.sleep(300)

Замените /path/to/echobot2.py на полный путь к файлу echobot2.py , который вы только что создали.

Этот код будет проверять состояние сервера каждые 5 минут.

Запуск проверки в фоновом режиме

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

nohup python3 /path/to/check_services.py https://virtirio.com/blog/telegram-%D0%B1%D0%BE%D1%82/» target=»_blank»]virtirio.com[/mask_link]

Мануал по установке Python ботов на Ubuntu VPS

Всё. После этого вы должны получить IP, логин(стандартно root) и пароль для входа в VPS/VDS по SSH.

Шаг второй. Подключение и подготовка сервера.

После того, как мы получили данные от сервера, нам нужно к нему подключиться по протоколу SSH.
Так как я работаю в основном на андроиде, хочу вам посоветовать скачать программу Admin Hands. У неё очень удобный интерфейс и много функций.
Для ПК вы можете скачать Putty SSH.
Ссылок не будет, ибо есть волшебный Google.
Если вы работаете в Putty SSH, вам нужно будет только ввести IP, дальше система спросит у вас логин и пароль.
Если же вы работаете в Admin Hands, то вы можете добавить хост нажатием на кнопку «+» внизу.
Предположим, что вы успешно подключились к серверу. Вас встретит коммандная строка.
Для начала нам нужно обновить пакеты:
apt update apt upgrade
Затем установить Python и pip:
apt install python3 python3-pip
И установить необходимые для бота модули, в этом мануале я покажу только базовые — pyTelegramBotAPI, aiogram и requests:
pip3 install pyTelegramBotAPI aiogram requests
Так же необходимо установить утилиту tmux, чтобы боты не падали при выходе с сессии:
`apt install tmux`
У вас могут быть дополнительные модули, они тоже устанавливаются через pip3 install
Поздравляю, наш сервер успешно настроен для работы с Python.

Еще по теме:  Как посмотреть кэш Телеграмма на ПК

Шаг третий. Настройка скрипта бота.

Шаг четвёртый. Перемещение файлов бота на сервер.

В предыдущем шаге мы настроили наш скрипт.
Теперь нам нужно залить его на сервер по протоколу SFTP.
Если вы используете Admin Hands, то вы можете просто нажать по вашему хосту, выбрать подключение по SFTP и переместить ваши файлы на сервер.
Если вы используете Putty SSH, вам нужно скачать SFTP клиент на свой ПК.
Могу посоветовать вам WinSCP.
Подробных гайдов опять же не будет, ибо есть волшебный Google.
Перейдем к запуску бота.

Шаг пятый. Запуск бота.

Канал с крутыми сливами — End Soft
Партнёры End Soft — SENIOR — СЛИВЫ
Мой личный дневник — snek’s mood

Источник: telegra.ph

Как запустить Python Telegram бота на VPS?

Из этой статьи вы узнаете как запустить Telegram бота на виртуальном сервере, и настроить службу для его авто запуска и перезапуска.

Для демонстрации я буду использовать виртуальный сервер от ТЫК стоимостью 210 рублей в месяц. Вы можете использовать другого хостинг провайдера, или выбрать другую конфигурацию, в зависимости от вашего проекта.

1670344324792.png

Подключение к виртуальной машине

После того как вы создали VPS у вас откроется панель управления, где вы можете скопировать IP адрес машины и подключаться к ней по SSH.

1670344366352.png

Для этого можно использовать программу PuTTY ТЫК или клиент OpenSSH , который входит в состав Windows 10. Для подключения по SSH выполните следующую команду:

И введите пароль который вы указали при создании VPS. (пароль может не отображаться, не пугайтесь)

После того как вы подключились к серверу, выполните команды которые обновят списки, и устаревшие пакеты до последней версии.

Еще по теме:  Как отключить всплывающие уведомления Телеграмм на компьютере

sudo apt update sudo apt upgrade

Загрузка и запуск бота

Перейдите в каталог home и создайте папку для вашего проекта выполнив команды.

cd /home mkdir ramziv_bot cd ramziv_bot

Зайдите панель управления VPS и откройте Файловый менеджер.

1670344601041.png

Загрузите файлы вашего проекта на сервер, в моем случае- это только один файл main.py.

1670344656345.png

Установите зависимости вашего проекта, и запустите бота.

Примечание: Ubuntu 20.04 поставляется с установленной Python 3.8 из коробки, если для вашего проекта нужна другая версия, установите ее или используйте другую версию дистрибутива.

pip install pyTelegramBotAPI python3 main.py

Теперь перейдите в Телеграм и протестируйте работу:

Как запустить Python Telegram бота на VPS

Авто запуск и перезапуск телеграм бота
Создайте systemd службу для бота.

sudo nano /lib/systemd/system/ramziv_bot.service
[Unit] Description=Ramziv — Telegram Bot After=syslog.target After=network.target [Service] Type=simple WorkingDirectory=/home/ramziv_bot/ ExecStart=/usr/bin/python3 /home/ramziv_bot/main.py RestartSec=60 Restart=always [Install] WantedBy=multi-user.target

Нажмите CTRL+S и CTRL+X что бы сохранить и выйти.

Выполните эти две команды что бы запустить службу:

sudo systemctl enable ramziv_bot sudo systemctl start ramziv_bot

Ваш бот запущен. Перейдите в Телеграм и убедитесь в этом.

Заключение
Ваш бот будет всегда запускаться при старте системы, и перезапускается при возникновении ошибки. Для примера вы можете специально вызвать исключения в одной из функций обернутой обработчиком, и отследить ее в журнале командой:

sudo journalctl -u ramziv_bot.service

Источник: seochao.ru

Рейтинг
( Пока оценок нет )
Загрузка ...