Проекты

Создание Telegram-бота на языке Python для удалённого доступа к компьютеру

Работа призёра конкурса проектов и исследований «Инженеры будущего» открытой городской научно-практической конференции «Инженеры будущего» в секции «Информационные технологии, программирование, прикладная математика, социальный инжиниринг» среди работ учащихся 10–11 классов

Направление работы: Инженеры
Авторы работы: ГБОУ Школа «Свиблово»
Предметы: Информатика
Классы: 10 класс
Мероприятия: Конкурс проектов и исследований «Инженеры будущего» открытой городской научно-практической конференции «Инженеры будущего» 2021 года

Актуальность

Случаются ситуации, когда срочно нужно скачать какой-нибудь файл с компьютера. Данный бот даёт доступ к файлам компьютера из любого места.

Также иногда нужно узнать IP-адрес или информацию об операционной системе, процессоре и т.д., но компьютер находится вне зоны доступа. Наш бот решает и эту проблему.

Если у пользователя есть сын/дочь/брат/сестра, то, уходя из дома, он сможет контролировать их действия (предусмотрены функция создания скриншота, контроль текущих процессов и их закрытие, удаление папок, получение снимка с веб-камеры, просмотр директорий). По такому же принципу возможно контролировать компьютеры сотрудников в компаниях.

Цель

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

Задачи

  1. Создание бота Telegram с помощью BotFather.
  2. Изучение TelegramApi для отправки запросов своим ботом.
  3. Написание кода бота на языке программирования Python.

Оснащение и оборудование, использованное при создании работы

  • Персональный компьютер с установленным на нем ПО (Python, TelegramAPI, BotFather и среда разработки PyCharm)
  • Мобильный телефон

Описание

Для создания бота использовался язык программирования Python и среда разработки PyCharm. Изучив множество ботов других людей, автор выбрал универсальную платформу для разработки ботов TelegramAPI.

Код получился очень гибким, его легко дополнить. При необходимости из кода можно легко что-то удалить. Он не образует паутину из взаимосвязанных функций. Каждая функция существует сама по себе и не мешает работе другой.

Принцип работы бота

На компьютере, которым необходимо управлять, запускается код через PyCharm. После этого происходит авторизация в Telegram и переход к использованию бота.

После авторизации появляется возможность закрывать программы, скачивать файлы, делать скриншот экрана и веб-камеры, удалять файлы, выключать и перезагружать компьютер. Также можно узнать информацию о своём компьютере, потому что программа работает в фоновом режиме и постоянно поддерживает связь с сервером.

В будущем будет добавлен белый список программ и ввод команд в консоль. После этого бот перейдёт в исполняемый exe-файл и сможет сам запускать себя при загрузке ОС. После всех этих добавлений бот станет для человека полноценным помощником.

Результаты работы/выводы

В результате разработан бот, который может быть использован на любой платформе: стационарный компьютер, смартфон, устройства с доступом в сеть Интернет (SmartTV, игровые консоли и т. д.). Такой обширный выбор возможен благодаря кроссплатформенности мессенджера Telegram. Код бота очень простой, его легко дополнить, удалить или модифицировать под свои нужды.

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

Перспективы использования результатов работы

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

Награды/достижения (в каких конкурсах и с какими результатами выставлялась ранее эта работа)

Призёр Всероссийского конкурса научно-технологических проектов «Большие вызовы»

Мнение автора

«Участие в проекте «Инженерный класс в московской школе» помогло представить результаты выполненного проекта на открытой городской научно-практической конференции «Инженеры будущего». Это был шанс почувствовать себя разработчиком учебного программного контента и научиться представлять результаты работы. Считаю, что свою задачу выполнил. Было очень интересно!»