Простой Telegram bot для выполнения команд linux на сервере.

Рассмотрим пример создание, установки зависимостей и запуска небольшого чат бота для выполнения произвольных команд на linux сервере и отображения этой информации в чате.

Необходимо создать бота, создание бота описано в данной статье.

Для получени персонального ID можно использовать к примеру данные бот @userinfobot

Для использования бота нам понадобится на сервере python3 а также бибилиотека pip3 python-telegram-bot, онако данный пример основан на старой версии, поэтому при установке необходимо указать версию бибилиотеки, если python3 уже установлен.

и в таком случаи установим пакет

Скачаем архив c ботом и распакуем его на сервере bot.tar

В архиве 4 файла

bot.py — основной файл бота.

bot.sh — используется для запуска бота через systemd.

config.py — файл конфигурации бота.

curl.sh — файл пример произвольного скрипта.

Рассмотри каждый файл.

В файле curl.sh указан наш произвольный скрипт, который в результате выполнения вернет нам IP текущего сервера на котором работает бот.

В файле config.py мы указываем API token полученный на этапе создания бота, а также массив или единичное указание ID пользователей, с которыми боть будет общатся и которые считаются доверенными.

Файл bot.sh содержит строку запуска бота с полным путем.

Основной файл bot.py

Выполнение нашей произвольной команды состоит из функции и handler

Тут мы проверяем находится ли ID пользователя в массиве admin и если да, тогда выполняем кломанду curlsh в консоли на сервере.

Создадим ссылку на наш произвольный скрипт в системе, чтобы команда curlsh стала реальной.

И нам остается создать service файл и запустить бота.

И содержимое файла, в нем указываем путь к скрипту bot.sh

 

За основу взята данная статья https://winitpro.ru/index.php/2020/01/23/telegram-bot-dlya-linux-servera/

 

2 thoughts on “Простой Telegram bot для выполнения команд linux на сервере.

  1. Можно ли как-то сделать, чтобы бот запускал на компьютере smplayer+полученную в сообщении ссылку (если в сообщении содержится ссылка на ютуб)?

Добавить комментарий

Ваш адрес email не будет опубликован.