Разработка Telegram-бота для поиска ПО | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Авторы: ,

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №51 (446) декабрь 2022 г.

Дата публикации: 21.12.2022

Статья просмотрена: 164 раза

Библиографическое описание:

Дворцов, Н. В. Разработка Telegram-бота для поиска ПО / Н. В. Дворцов, Д. И. Травин. — Текст : непосредственный // Молодой ученый. — 2022. — № 51 (446). — С. 11-14. — URL: https://moluch.ru/archive/446/98115/ (дата обращения: 19.12.2024).



Ключевые слова: программа, программное обеспечение, OSINT, обработчик событий, бот, поиск.

Кто владеет информацией, тот владеет миром.

Натан Майер Ротшильд (1777–1836), немецкий бизнесмен

Студенческая жизнь айтишника требует не столько большого количества программного обеспечения, сколько оперативный доступ к нему. Конечно, большую часть потребностей способен удовлетворить вуз, но из-за сложившийся политической ситуации студенты вынуждены пользоваться многими программами только в университете ввиду того, что удаленный доступ также работал на компонентах недружественных к РФ стран.

Разумеется, можно просто потратить чуть больше времени на прямой поиск в интернете нужной программы (OSINT, open-source intelligence, разведка на основе открытых данных), но часто это отнимает немалый объем времени и ставит риск поражения вашего компьютера вредоносным ПО.

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

Первым делом наша команда провела анкетирование, в котором мы искали ответ на вопрос «А нужна ли такая система?».

Вопросы анкеты.

Рис. 1. Вопросы анкеты.

В анкету мы включили вопросы, конкретизирующие проблемы, возникающие у студентов при поиске ПО как то: затраченное время, круг необходимых программ, действия по поиску.

Эти данные мы учли при разработке бота. Он должен быть быстрым, безопасным, охватывать максимальное число программ и не требовать специальной настройки. Поэтому нами и был выбран Telegram в качестве платформы для осуществления работы модели «пользователь-СХД».

Таблица с результатами анкетирования

Рис. 2. Таблица с результатами анкетирования

Для разработки программы мы выбрали язык Python 3.8.6. Его синтаксис и функции наиболее удобны для обработки требуемых параметров. Основным двигателем бота выступила библиотека telebot.

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

Сбои в работе aiogram возникли при 28 подключениях, а у telebot — 40.

Рис. 3. Сбои в работе aiogram возникли при 28 подключениях, а у telebot — 40.

Весь функционал бота реализуется по средствам двух обработчиков событий: message_handler(commands= ['start']) — реализует обработку приветствий (/start — начало общения) и обработку четырехкнопочной клавиатуры, которая служит для осуществления навигации внутри бота; message_handler(content_types= ['text']) — реализует обработку текстовых обращений к боту и нажатия на кнопки.

Для создания клавиатуры используется метод ReplayKeyboardMarkup. Для создания клавиш — KeyboardButton

Рис. 4. Для создания клавиатуры используется метод ReplayKeyboardMarkup. Для создания клавиш — KeyboardButton

Строки 29–30 содержат в себе обработчик событий и советующую функцию

Рис. 5. Строки 29–30 содержат в себе обработчик событий и советующую функцию

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

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

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

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

Теперь же перейдем к части, касающейся обратной связи.

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

Парсинг состоит из трех этапов:

  1. Поиск
  2. Извлечение
  3. Сохранение

Для реализации поиска мы использовали библиотеки beautifulsoup4, requests и pandas.

Первым этапом формируется get-запрос по структуре r = requests.get(‘ссылка’). Далее при помощи аргумента text получаем весь html-код нашей страницы.

Теперь при помощи ограничения параметров добиваемся получения ссылок на программу в зависимости от введенного названия. Каждая ссылка содержит свой уникальный id:

Рис. 6

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

Основные термины (генерируются автоматически): OSINT, обработчик событий, программа, программное обеспечение, бот, нужная программа, поиск.


Ключевые слова

программное обеспечение, программа, поиск, OSINT, обработчик событий, бот

Похожие статьи

Универсальный Telegram-бот для магазина розничной торговли

В статье автор описывает принципы работы универсального Telegram-бота для магазина розничной торговли.

Разработка мобильного приложения для создания заметок

В статье автор разрабатывает мобильное приложение для создания заметок.

Разработка приложения-органайзера для студента

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

Разработка политики паролей веб-приложения, работающего в сфере e-commerce

Разработка web-приложения для продажи фермерских товаров

В статье авторы описывают процесс создания и принцип работы нового интернет-магазина для продажи фермерских товаров «Просёлок».

Разработка программы калькулятор в программном пакете QT

Использование графических решений в разработке мобильных приложений под управлением операционной системы Android-12

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

Разработка приложения для управления проектами

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

Разработка TCP-чата с использованием фреймворка Electron

В статье рассматривается разработка серверной части TCP чата на языке JavaScript с использованием node.js и клиентской части TCP чата c использованием фреймворка Electron.

Востребованные backend-технологии для разработки программного продукта

В статье авторы определяют востребованные backend-технологии для разработки программного продукта.

Похожие статьи

Универсальный Telegram-бот для магазина розничной торговли

В статье автор описывает принципы работы универсального Telegram-бота для магазина розничной торговли.

Разработка мобильного приложения для создания заметок

В статье автор разрабатывает мобильное приложение для создания заметок.

Разработка приложения-органайзера для студента

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

Разработка политики паролей веб-приложения, работающего в сфере e-commerce

Разработка web-приложения для продажи фермерских товаров

В статье авторы описывают процесс создания и принцип работы нового интернет-магазина для продажи фермерских товаров «Просёлок».

Разработка программы калькулятор в программном пакете QT

Использование графических решений в разработке мобильных приложений под управлением операционной системы Android-12

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

Разработка приложения для управления проектами

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

Разработка TCP-чата с использованием фреймворка Electron

В статье рассматривается разработка серверной части TCP чата на языке JavaScript с использованием node.js и клиентской части TCP чата c использованием фреймворка Electron.

Востребованные backend-технологии для разработки программного продукта

В статье авторы определяют востребованные backend-технологии для разработки программного продукта.

Задать вопрос