Статья опубликована в рамках: Научного журнала «Студенческий» № 16(60)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3
РАЗРАБОТКА БОТА ДЛЯ СОЦИАЛЬНОЙ СЕТИ «ВКОНТАКТЕ» «РАСПИСАНИЕ ЗАНЯТИЙ ИТА ЮФУ»
Введение
В современном мире общество уделяет особое внимание вопросу планирования деятельности. Во всех сферах жизни человека присутствует какое- то планирование. Одним из таких инструментов является планирование расписания занятий в учебных заведениях.
Многие учебные заведения выкладывают в интернет расписание занятий для студентов и преподавателей. В частности, ИТА ЮФУ, имеет собственную АСУ для информирования людей о расписании занятий [1].
В связи с этим, мы решили создать бота для социальной сети «Вконтакте»
Постановка задачи
Разработать бота для социальной сети «Вконтакте» «Расписание ИТА ЮФУ».
Цель приложения — предоставлять актуальную информацию о расписании ИТУ ЮФУ.
Основные возможности:
- Получение информации о расписании на сегодня;
- Получение информации о расписании на завтра;
- Получение информации о расписании на неделю с экзаменами.
Разработка бота
Исходя из поставленной задачи, нужно было разработать бота для социальной сети «Вконтакте» «Расписание ИТА ЮФУ». Для этого были разработаны:
а) парсер расписания;
б) бот для социальной сети «Вконтакте»;
в) модуль для составления, обработанного парсером, расписания;
г) вспомогательные классы для работы бота;
Разработка парсера расписания
Парсер для бота был написан на языке Python [2] с использованием библиотеки BeautifulSoup [3]. Серверу расписания посылается запрос, который пользователь ввел боту через личное сообщение в социальной сети «Вконтакте». Парсер получает на вход HTML-код расписания. Данный код обрабатывается и переносится в двумерный массив, где первое измерение отвечает за день недели, а второе за само расписание.
Так же и обрабатывается расписание экзаменов.
Дальше полученные данные отсылаются на обработку классу составления расписания. Данный класс собирает из полученных данных тип данных string, который в последствии отправляется классу бота.
Выводимое расписание имеет данную структуру: Время расписание
Разработка бота
Бот был разработан на языке Python с использование API «Вконтакте». Исходный код разработки указан в приложении А.
Сначала происходит авторизация с сообществом «Вконтакте». После этого бот находится в ожидании запросов. Как только запрос был получен, происходит проверка корректности запроса. Структура корректного запроса выглядит так: Запрос номер_действия.
Доступные действия:
- расписание на сегодня;
- расписание на завтра;
- расписание на неделю.
Пример: КТбо3-8 1
Если сервер доступен и запрос корректен, заданный запрос отправляется на обработку парсеру расписания. Иначе выводится соответствующее сообщение.
Разработка интерфейса бота
При вводе некорректного запроса выводится сообщение, с помощью для пользователя. В этом сообщении указан список возможных действий с примером. Данное сообщение показано на рисунке 1.
Рисунок 1. Помощь для пользователя
При вводе корректного запроса выводится расписание согласно заданному действию:
- расписание на сегодня;
- расписание за завтра;
- расписание на неделю.
Структура расписания на сегодня:
Текущая неделя(верхняя/нижняя) сегодняшний день недели, учебные пары.
Расписание занятий на сегодня представлено на рисунке 2.
Рисунок 2. Расписание занятий на сегодня
Структура расписания на завтра:
Текущая неделя(верхняя/нижняя) завтрашний день недели, учебные пары.
Расписание занятий на завтра представлено на рисунке 3.
Рисунок 3. Расписание занятий на завтра
Структура расписания на неделю:
Понедельник, учебные пары … пятница, учебные пары, расписание экзаменов.
Расписание занятий на неделю представлено на рисунке 4.
Рисунок 4. Расписание занятий на неделю
Если сервер недоступен бот выводит сообщение, что сервер недоступен. Данное сообщение показано на рисунке 5.
Рисунок 5. Сервер недоступен
Заключение
В ходе выполнения работы был разработан бот «Расписание ИТА ЮФУ» для социальной сети «Вконтакте». Для этого был разработан следующий функционал:
- Получение информации о расписании на сегодня;
- Получение информации о расписании на завтра;
- Получение информации о расписании на неделю с экзаменами.
Список литературы:
- Расписание занятий – Автоматизированная информационная система управления Таганрогского кампуса ЮФУ [Электронный ресурс] – Режим доступа: http://asu.tti.sfedu.ru/Raspisanie/ Дата обращения: (15.04.2019)
- Python – Википедия [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org/wiki/Python Дата обращения: (15.04.2019)
- Beautiful Soup – Crummy: The Site [Электронный ресурс] – Режим доступа: https://www.crummy.com/software/BeautifulSoup/bs4/doc/ Дата обращения: (15.04.2019)
Оставить комментарий