Загрузка...

We control the dedik through a bot in Telegram

Thread in Articles created by OnerSD Jun 1, 2022. (bumped Sep 23, 2023) 2972 views

  1. OnerSD
    OnerSD Topic starter Jun 1, 2022 Разбань ютуб - https://lolz.live/threads/6716800/ 1517 Mar 24, 2021
    Всем привет!
    В данной статье я расскажу и покажу, как с помощью бота в Телеграме управлять дедиком на Linux системах.
    Принцип работы такой: на дедик нужно загрузить специальный скрипт на Python и запустить его. Больше ничего не требуется, после этих действий вы уже сможете управлять сервером путем отправки команд в чат с ботом. Итак, начнём.


    1. Создаём бота через BotFather, а также узнаём свой id в Телеграме.

    Введите "BotFather" в поиске Телеграма, пропишите "/newbot" и следуйте инструкциям:
    [IMG]

    Вам понадобится API токен вашего бота, запишите его куда вам удобно.
    Далее переходим в @myidbot и узнаем свой id, он также нам пригодится.


    2. Создаем скрипт.

    Для начала импортируем нужные библиотеки:
    Python

    import telebot
    import subprocess
    Затем введём api токен бота и ваш id в Телеграме:
    Python
    bot = telebot.TeleBot("XXXXXXXXXXXXXXXXXXXXXXXXXXXX")
    owner_id = XXXXXXX
    Далее напишем основную функцию:
    Python

    @bot.message_handler(content_types=["text"])
    def input_command(message):
    if (owner_id == message.chat.id): #Проверка владельца, кроме вас никто не сможет пользоваться ботом
    command = message.text #Текст команды
    try:
    process = subprocess.run([command], capture_output=True, shell=True, text="True") #Ввод и выполнение команды на дедике
    bot.send_message(message.chat.id, process.stdout) #Вывод результата выполнения команды в бота
    except:
    bot.send_message(message.chat.id, "Команда введена неверно") #Если команда неправильная, бот уведомит об этом
    И в конце допишем команду, отвечающую за непрерывную работу бота:
    Python
    while True:
    bot.polling(none_stop=True, interval=0)
    Готово! Скрипт полностью написан.

    Кому лень разбираться - вот сразу весь код:
    Python

    import telebot
    import subprocess

    bot = telebot.TeleBot("XXXXXXXXXXXXXXXXXXXXXXXXXX")
    owner_id = XXXXXXXXX

    @bot.message_handler(content_types=["text"])
    def input_command(message):
    if (owner_id == message.chat.id):
    command = message.text
    try:
    process = subprocess.run([command], capture_output=True, shell=True, text="True")
    bot.send_message(message.chat.id, process.stdout)
    except:
    bot.send_message(message.chat.id, "Команда введена неверно")

    while True:
    bot.polling(none_stop=True, interval=0)


    3. Загружаем скрипт на дедик и запускаем его.

    Скачиваем PuTTY для подключения к дедику и WinSCP для передачи файлов с компьютера на дедик.
    После установки программы заходим в неё, жмём кнопку "Соединение" и вводим данные от дедика:

    [IMG]

    Далее просто ищем слева в файлах компьютера скрипт и перетаскиваем его на дедик:

    [IMG]

    Через PuTTY заходим на дедик и устанавливаем Python, а также библиотеку, которую мы использовали при написании скрипта:
    [IMG]
    [IMG]

    Устанавливаем Python и Telebot, необходимые для запуска скрипта.
    У меня дедик на Ubuntu 20.04, поэтому установка происходит такими командами:
    Code

    sudo apt update
    sudo apt install python3.9
    pip3 install pyTelegramBotAPI
    Запускаем скрипт:
    Code
    python3 yourfilename.py
    Вместо "yourfilename.py" вписывайте свое имя скрипта.

    [IMG]

    Если у вас все так же, то всё получилось и скрипт запущен.


    4. Управляем дедиком через бота.

    Теперь переходим в бота и вписываем любую команду, например "ls", которая отображает список файлов и подкаталогов:

    [IMG]

    Бот отправляет в ответ результат выполнения команды - все файлы, находящиеся в домашнем каталоге на моём дедике.
    Попробуем установить через бота какую нибудь библиотеку Python, например aiogram. Вводим команду "pip install aiogram":

    [IMG]

    Установка произошла, проверим наличие библиотеки:

    [IMG]

    Aiogram через бота установлен!
    Таким же образом можно выполнять множество других манипуляций с дедиком. Применений можно найти очень много.


    Всем спасибо за прочтение! Надеюсь, было интересно и полезно, ведь времени на реализацию скрипта и написание статьи я потратил достаточно много:hi:
     
    This article was useful for you?
    You can thank the author of the topic by transferring funds to your balance
    Thank the author
  2. Tyke
    Tyke Jun 1, 2022 Banned 1755 Jan 11, 2022
    Очень удобно, но через терминал как-то практичнее
     
    1. OnerSD Topic starter
      Tyke, согласен, но не всегда компьютер под рукой, а таким образом просто через телегу на телефоне можно что нибудь чекнуть на дедике
  3. yes1amsuuuun
    yes1amsuuuun Jun 7, 2022 Banned 1735 Aug 21, 2021
    Годнота, на случай если ПК нет под рукой, но есть телефон.
     
    1. snem
      yes1amsuuuun, на случай когда нет пк, но есть телефон есть приложение RD client
    2. yes1amsuuuun
      snem, RD Client не сильно подходит под контроль 3-4 машин.
    3. OnerSD Topic starter
      snem, приложение не подходит для управления несколькими серваками, а бота для управления хоть 10-ю одновременно вполне можно сделать, взяв за основу такой мето
  4. ЛысыйКотик
    ЛысыйКотик Jun 14, 2022 (к)анал алеха - https://t.me/Kanalchik_alexa 2196 Dec 9, 2021
    Крайне бессмысленное способ, ведь на телефон можно установить приложение для управлениями дедика
     
    1. OnerSD Topic starter
      ЛысыйКотик, не согласен, есть много случаев, когда доступ к дедику нужно предоставить для большого количества людей одновременно, бот для этого самое то. Например если на дедике софт, а ты панель для его управления в телеге делаешь.
    2. View the next comments (1)
  5. Noone
    Noone Jun 14, 2022 399 Apr 26, 2019
    Лучше уже поставить ngrok или tor, а так впринцепи норм
     
  6. islamchik228
    Всё отлично расписал, красава
     
  7. Luso1q
    Luso1q Sep 23, 2023 8 Dec 27, 2022
    А как отправлять команды по типу cntr +b?
     
  8. INTER_BLESSED
    Годно, удобно))
     
  9. Колякокакола
    А этот бот будет работать только в телеге или на всех рандомных сайтах где есть чаты например засорение чата или флуд
     
Top
Loading...