Сегодня я расскажу вам, как можно создать бота в «Telegram», с помощью которого вы сможете: дистанционно делать скриншот экрана, на котором открыт скрипт, выводить список всех запущенных процессов и закрывать их с помощью команд.
Этот скрипт идеально подойдет тем, кто абузит различные сервисы, в которых время от времени нужно подтверждать то, что вы реальный человек, а не автокликер. Или же тем, кто занимается не совсем законной деятельностью и в любой момент могут нагрянуть с обыском.
1. Скачиваем Python (https://www.python.org/downloads/release/python-3100/) версии 3.10 и при установке не забываем включить галочку "PATH";
2. Создаем любую папку, а в нём файл "main.py", жмём на строку, где указывается путь до файла, и прописываем там "CMD";
3. В консоль прописываем команды по очереди: "pip install pyautogui pyTelegramBotAPI" & "pip install pygetwindow" & "pip install pillow" & "pip install pyscreeze";
4. Открываем файл "main.py" и вставляем туда этот код
5. Переходим в @BotFather, создаем нашего бота и копируем его токен в любое удобное для вас место, а также переходим в нашего бота и пишем /start;
6. Возвращаемся в "main.py", вставляем туда токен нашего бота и ваш ID;
7. Сохраняем файл и в консоль прописываем "py main.py". Заходим в бота и вводим нужную вам команду:
• /screenshot — делает скриншот экрана на котором открыт скрипт и отправляет в чат (после отправки скриншот удаляется);
• /list_windows —выводит список запущенных процессов в «Windows»;
• /close_window *номер окна — закрывает заданный процесс;
8. Поздравляю, вы великолепны!
Этот скрипт идеально подойдет тем, кто абузит различные сервисы, в которых время от времени нужно подтверждать то, что вы реальный человек, а не автокликер. Или же тем, кто занимается не совсем законной деятельностью и в любой момент могут нагрянуть с обыском.
1. Скачиваем Python (https://www.python.org/downloads/release/python-3100/) версии 3.10 и при установке не забываем включить галочку "PATH";
2. Создаем любую папку, а в нём файл "main.py", жмём на строку, где указывается путь до файла, и прописываем там "CMD";
3. В консоль прописываем команды по очереди: "pip install pyautogui pyTelegramBotAPI" & "pip install pygetwindow" & "pip install pillow" & "pip install pyscreeze";
4. Открываем файл "main.py" и вставляем туда этот код
Python:
import telebot
import pyautogui
import pygetwindow as gw
import os
# Ваш токен от Telegram
bot_token = 'Bot_Token' # Замените на токен нужного бота
bot = telebot.TeleBot(bot_token)
# Укажите ID пользователя, который может управлять ботом
allowed_user_id = 123456789 # Замените на ваш реальный Telegram ID
# Функция проверки прав доступа
def check_access(message):
if message.from_user.id != allowed_user_id:
bot.send_message(message.chat.id, "У вас нет прав для управления этим ботом.")
print(f"Пользователь {message.from_user.id} пытался выполнить команду, но не имеет прав.")
return False
return True
# Команда для отправки скриншота
@bot.message_handler(commands=['screenshot'])
def send_screenshot(message):
if not check_access(message):
return
try:
# Делаем скриншот
screenshot = pyautogui.screenshot()
# Сохраняем временно скриншот
screenshot_path = 'screenshot.png'
screenshot.save(screenshot_path)
# Проверяем, существует ли файл перед отправкой
if os.path.exists(screenshot_path):
with open(screenshot_path, 'rb') as photo:
bot.send_photo(message.chat.id, photo)
os.remove(screenshot_path) # Удаляем файл после отправки
print("Команда /screenshot выполнена: скриншот отправлен")
else:
bot.send_message(message.chat.id, "Не удалось создать скриншот.")
print("Команда /screenshot не удалась: файл скриншота не найден")
except Exception as e:
bot.send_message(message.chat.id, f"Произошла ошибка: {e}")
print(f"Ошибка при выполнении команды /screenshot: {e}")
# Команда для отображения всех открытых окон
@bot.message_handler(commands=['list_windows'])
def list_windows(message):
if not check_access(message):
return
windows = gw.getAllTitles() # Получаем заголовки всех окон
windows = [w for w in windows if w] # Убираем пустые строки (иногда бывают скрытые окна)
if windows:
response = "Открытые окна:\n"
for i, window in enumerate(windows):
response += f"{i+1}. {window}\n"
print(f"Команда /list_windows выполнена: найдено {len(windows)} окон")
else:
response = "Окна не найдены."
print("Команда /list_windows выполнена: окна не найдены")
bot.send_message(message.chat.id, response)
# Команда для закрытия окна по его индексу
@bot.message_handler(commands=['close_window'])
def close_window(message):
if not check_access(message):
return
try:
# Парсим команду, ожидаем индекс окна
index = int(message.text.split()[1]) - 1
# Получаем список окон
windows = gw.getAllTitles()
windows = [w for w in windows if w]
# Закрываем выбранное окно
if 0 <= index < len(windows):
window = gw.getWindowsWithTitle(windows[index])[0]
window.close()
bot.send_message(message.chat.id, f"Окно '{windows[index]}' закрыто.")
print(f"Команда /close_window выполнена: окно '{windows[index]}' закрыто")
else:
bot.send_message(message.chat.id, "Неверный индекс окна.")
print("Команда /close_window: неверный индекс окна")
except (IndexError, ValueError):
bot.send_message(message.chat.id, "Пожалуйста, укажите корректный индекс окна. Пример: /close_window 1")
print("Ошибка: некорректный индекс для команды /close_window")
except Exception as e:
bot.send_message(message.chat.id, f"Произошла ошибка: {e}")
print(f"Ошибка при выполнении команды /close_window: {e}")
# Запускаем бота
bot.polling(none_stop=True)
6. Возвращаемся в "main.py", вставляем туда токен нашего бота и ваш ID;
7. Сохраняем файл и в консоль прописываем "py main.py". Заходим в бота и вводим нужную вам команду:
• /screenshot — делает скриншот экрана на котором открыт скрипт и отправляет в чат (после отправки скриншот удаляется);
• /list_windows —выводит список запущенных процессов в «Windows»;
• /close_window *номер окна — закрывает заданный процесс;
8. Поздравляю, вы великолепны!