Найти в Дзене
popilase

Создание простого бота для управления компьютером с помощью Telegram

Введение В данной статье мы рассмотрим код на языке Python, который позволяет создать бота для управления компьютером с помощью Telegram. Бот будет иметь возможность выполнять различные команды, такие как создание скриншота экрана, запуск игры, блокировка, выключение и перезагрузка компьютера. Для создания бота мы будем использовать библиотеку telebot, которая предоставляет удобный интерфейс для работы с Telegram API. Мы также будем использовать библиотеку pyscreenshot для создания скриншотов экрана. Устанавливаем telebot и pyscreenshot через менеджер пакетов pip pip install pyTelegramBotAPI pip install pyscreenshot Структура кода Код состоит из нескольких основных частей: 1. Импорт необходимых модулей: import os
import telebot
import pyscreenshot
from telebot import types
2. Определение уникального идентификатора пользователя и токена бота: uid = 'ВАШ_ИД' # Уникальный идентификатор пользователя
token = 'ВАШ_ТОКЕН' # Токен вашего бота
bot = telebot.TeleBot(token)
3. Создание клавиату
Оглавление

Введение

В данной статье мы рассмотрим код на языке Python, который позволяет создать бота для управления компьютером с помощью Telegram. Бот будет иметь возможность выполнять различные команды, такие как создание скриншота экрана, запуск игры, блокировка, выключение и перезагрузка компьютера.

Для создания бота мы будем использовать библиотеку telebot, которая предоставляет удобный интерфейс для работы с Telegram API. Мы также будем использовать библиотеку pyscreenshot для создания скриншотов экрана.

Устанавливаем telebot и pyscreenshot через менеджер пакетов pip

pip install pyTelegramBotAPI
pip install pyscreenshot

Структура кода

Код состоит из нескольких основных частей:

1. Импорт необходимых модулей:

import os
import telebot
import pyscreenshot
from telebot import types


2. Определение уникального идентификатора пользователя и токена бота:

uid = 'ВАШ_ИД' # Уникальный идентификатор пользователя
token = 'ВАШ_ТОКЕН' # Токен вашего бота
bot = telebot.TeleBot(token)


3. Создание клавиатуры меню:

menu_keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False)
btnscreen = types.KeyboardButton('Скриншот')
btncmd = types.KeyboardButton('Выполнить команду')
btnch = types.KeyboardButton('Запустить Clicker Heroes')
btnlock = types.KeyboardButton('Заблокировать ПК')
btnshutdown = types.KeyboardButton('Выключить ПК')
btnreboot = types.KeyboardButton('Перезагрузить ПК')
menu_keyboard.row(btnscreen, btncmd)
menu_keyboard.row(btnch, btnlock)
menu_keyboard.row(btnshutdown, btnreboot)


4. Обработчик команды /start:

@bot.message_handler(commands=['start'])
def start_message(message):
if message.from_user.id == uid:
bot.send_message(uid, 'Меню', reply_markup=menu_keyboard) # Отправляем сообщение с клавиатурой меню
else:
bot.send_message(message.from_user.id, 'У вас нет доступа') # Отправляем сообщение о отсутствии доступа


5. Обработчик текстовых команд:

@bot.message_handler(content_types=["text"])
def text_messages(message):
if message.from_user.id == uid:
if message.text == 'Скриншот':
pyscreenshot.grab().save('screen.png') # Создаем скриншот экрана и сохраняем его в файл 'screen.png'
bot.send_photo(uid, open('screen.png', 'rb')) # Отправляем скриншот пользователю
os.remove('screen.png') # Удаляем файл скриншота после отправки
elif message.text == 'Выполнить команду':
bot.send_message(uid, 'Команда:') # Запрашиваем у пользователя команду
bot.register_next_step_handler(message, cmd) # Регистрируем следующий шаг обработки команды
elif message.text == 'Запустить Clicker Heroes':
os.system('start steam://rungameid/363970') # Запускаем игру Clicker Heroes через Steam
bot.send_message(uid, 'Запуск Clicker Heroes...') # Отправляем сообщение о запуске игры
elif message.text == 'Заблокировать ПК':
bot.send_message(uid, 'Выполнено') # Отправляем сообщение о выполнении команды
os.system('Rundll32.exe user32.dll,LockWorkStation') # Блокируем компьютер
elif message.text == 'Выключить ПК':
bot.send_message(uid, 'Выключение компьютера') # Отправляем сообщение о выключении компьютера
os.system('shutdown -s /t 0 /f') # Выключаем компьютер
elif message.text == 'Перезагрузить ПК':
bot.send_message(uid, 'Перезагрузка компьютера') # Отправляем сообщение о перезагрузке компьютера
os.system('shutdown -r /t 0 /f') # Перезагружаем компьютер
else:
bot.send_message(uid, 'Неизвестная команда') # Отправляем сообщение о неизвестной команде
else:
bot.send_message(message.from_user.id, 'У вас нет доступа') # Отправляем сообщение о отсутствии доступа


6. Обработчик команды:

def cmd(message):
os.system(message.text) # Выполняем команду, введенную пользователем
bot.send_message(uid, f"\"{message.text}\" - выполнено") # Отправляем сообщение о выполнении команды
bot.register_next_step_handler(message, text_messages) # Регистрируем следующий шаг обработки текстовых сообщений


7. Запуск бота:

if __name__ == '__main__':
bot.send_message(uid, 'Бот запущен', reply_markup=menu_keyboard) # Отправляем сообщение о запуске бота с клавиатурой меню
bot.polling(none_stop=True, interval=0, timeout=30) # Запускаем бота в режиме опроса сообщений

Примеры кода

Приведем примеры использования кода для выполнения различных команд:

Создание скриншота экрана:

pyscreenshot.grab().save('screen.png')


Запуск игры Clicker Heroes через Steam:

os.system('start steam://rungameid/363970')


Блокировка компьютера:

os.system('Rundll32.exe user32.dll,LockWorkStation')


Выключение компьютера:

os.system('shutdown -s /t 0 /f')


Перезагрузка компьютера:

os.system('shutdown -r /t 0 /f')

Скриншот работы бота
Скриншот работы бота

Заключение

В данной статье мы рассмотрели код на языке Python, который позволяет создать бота для управления компьютером с помощью Telegram. Бот имеет возможность выполнять различные команды, такие как создание скриншота экрана, запуск игры, блокировка, выключение и перезагрузка компьютера. Вы можете использовать этот код в своих проектах для автоматизации управления компьютером.