Тема: Разработка второй версии Discord-бота для организации электронных очередей при проведении учебных предметов HITS
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Введение 5
1 Анализ первой версии 6
1.1 Модель первичного проектирования первой версии 6
1.2 Процессы взаимодействия с ботом первой версии 6
1.3 Проблемы и пожелания 9
1.4 Модель первичного проектирования второй версии Discord-бота 10
1.5 Принятые решения по изменению модели первичного проектирования 11
1.5.1 Шаблон очереди 11
1.5.2 Критерии и таблица оценок 11
1.5.3 Очереди по расписанию 12
1.5.4 Несколько предметов на одном Discord-сервере 12
1.5.5 Командная сдача 13
1.6 Нерешенные проблемы 13
1.6.1 Выставление оценок в итоговые таблицы 13
1.6.2 Изменение расписания в университете 13
1.7 Итоговые функциональные возможности второй версии Discord-бота 14
1.7.1 Возможности роли Администратор бота 14
1.7.2 Возможности роли Принимающий 14
1.7.3 Возможности роли Студент 15
1.8 Новый бизнес-процесс 16
2 Проектирование второй версии 18
2.1 Изменения в технологиях 18
2.1.1 Переход с GORM на Ent 18
2.2 Нововведенные технологии 19
2.2.1 Инструменты для реализации веб-интерфейса 19
2.2.2 Запуск задач по расписанию 20
2.3 Оставшиеся технологии 21
2.3.1 Библиотека для работы с Discord API 21
2.4 Итоговые технологии и инструменты 22
2.5 Взаимодействие сервисов и пользователя 23
2.6 Проектирование архитектуры серверной части проекта 24
3 Реализация второй версии 26
3.1 Структура проекта 26
3.2 Запуск и остановка бота 27
3.2.1 Использование контекста 27
3.2.2 Инъекция зависимостей 27
3.2.3 Корректное завершение работы 27
3.3 Ent 27
3.3.1 Генерация 29
3.3.2 Миграции 29
3.4 Core 30
3.4.1 Транзакции 30
3.5 Discord 31
3.5.1 Application Commands 31
3.5.2 Декларативное указание обработчиков 32
3.5.3 Обработчики команд 36
3.5.4 Серверная проверка разрешений на вызов слеш-команд 37
3.6 Веб-интерфейс 38
3.6.1 Генерация HTTP-сервера с помощью Ogent 38
3.6.2 Фронтенд с помощью Svelte 39
3.6.3 Генерация API-клиента 41
3.6.4 Авторизация 41
3.7 Реализация новых и измененных функциональных возможностей 43
3.7.1 Планирование очередей 43
3.7.2 Уведомление о появлении свободного студента/команды 44
3.7.3 Изменения в наборе слеш-команд 45
3.8 Выполнение задач по расписанию 45
3.9 Тестирование с помощью Selenium 46
Заключение 49
Список использованных источников и литературы 50
📖 Введение
В Высшей ИТ школе (HITs) для решения вышеописанной проблемы был разработан Discord-бот для организации электронных очередей. В процессе эксплуатации первой версии бота были определены направления развития, собраны пожелания от пользователей, а также выявлены недостатки и неудобства, которые необходимо устранить во второй версии.
Вторая версия должна так же, как и первая, базироваться на онлайн-платформе для коммуникации Discord, поскольку оно применяется большинством преподавателей Высшей ИТ школы для взаимодействия со студентами. Необходимо проработать пользовательский опыт, модифицировать процедуру настройки бота для контрольных мероприятий. Кроме того, бот первой версии не может использоваться на некоторых учебных дисциплинах, сгруппированных на одном Discord-сервере. Во второй версии данный недостаток необходимо устранить.
Таким образом, цель данной работы - разработать вторую версию Discord-бота для организации электронных очередей при проведении учебных предметов HITs.
Для достижения поставленной цели необходимо решить следующие задачи:
1) анализ проблем первой версии бота,
2) проектирование второй версии бота,
3) реализация второй версии бота.
✅ Заключение
Был проведен тестовый запуск второй версии бота на контрольном мероприятии по дисциплине «Программирование». Проект ожидает полноценного внедрения в следующем учебном году.
В перспективе планируется внедрение системы регистрации пользователей, что позволит решить проблему с именами пользователей и откроет возможность интеграции с другими системами (при условии регистрации пользователей с использованием электронной почты или других дополнительных учетных записей). Также рассматривается возможность переноса веб-интерфейса в Discord Activities [38] - платформа для запуска веб-приложений прямо в клиенте Discord. Однако на данный момент это нецелесообразно, так как платформа находится в публичном тестировании, имеет множество ограничений, и соответствующие библиотеки для ее использования еще не разработаны.





