Тип работы:
Предмет:
Язык работы:


Разработка второй версии Discord-бота для организации электронных очередей при проведении учебных предметов HITS

Работа №184187

Тип работы

Дипломные работы, ВКР

Предмет

информатика

Объем работы56
Год сдачи2024
Стоимость4560 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
16
Не подходит работа?

Узнай цену на написание


Перечень условных обозначений, символов, сокращений, терминов 4
Введение 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. Однако на данный момент это нецелесообразно, так как платформа находится в публичном тестировании, имеет множество ограничений, и соответствующие библиотеки для ее использования еще не разработаны.



1. Discord. - [Б. м.], 2024. - URL: https://discord.com/ (дата обращения: 25.05.2024).
2. TSU.InTime. - [Б. м.], 2024. - URL: https://intime.tsu.ru (дата обращения:
02.06.2024).
3. Discord API Reference // Discord Developer Portal. - [Б. м.], 2023. - URL:
https://discord.com/developers/docs/reference (дата обращения: 27.05.2024).
4. GORM // gorm.io. - [Б. м.], 2023. - URL: https://gorm.io/ (дата обращения: 27.05.2024).
5. Awesome-go-orms // GitHub. - [Б. м.], 2024. - URL: https://github.com/d-
tsuji/awesome-go-orms (дата обращения: 02.06.2024).
6. Ent // GitHub. - [Б. м.], 2024. - URL: https://github.com/ent/ent (дата обращения: 02.06.2024).
7. DiscordGo // GitHub. - [Б. м.], 2023. - URL: https:// github. com/bwmarrin/discordgo (дата обращения: 12.05.2024).
8. Disgo // GitHub. - [Б. м.], 2023. - URL: https://github.com/switchupcb/disgo (дата обращения: 12.05.2024).
9. Goscord. - [Б. м.], 2024. - URL: https://goscord.dev/ (дата обращения: 02.06.2024).
10. Arikawa // GitHub. - [Б. м.], 2024. - URL: https://github.com/diamondburned/arikawa (дата обращения: 02.06.2024).
11. Community Resources // Discord Developer Portal. - [Б. м.], 2023. - URL:
https://discord.com/developers/docs/topics/community-resources (дата обращения: 03.06.2024).
12. Svelte. - [Б. м.], 2023. - URL: https://svelte.dev/ (дата обращения: 02.06.2024).
13. Water.css. - [Б. м.], 2024. - URL: https://watercss.kognise.dev/ (дата обращения: 02.06.2024).
14. Ogent // GitHub. - [Б. м.], 2023. - URL: https://github.com/ariga/ogent (дата обращения: 02.06.2024).
15. Entoas // GitHub. - [Б. м.], 2024. - URL: https:// github. com/ent/contrib/tree/master/ entoas (дата обращения: 02.06.2024)... 38


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ