Дипломный проект Разработка чат-бота с модерацией и играми
Актуальность
Цель и поставленные задачи
Идентификация предметной области и общая характеристика продукта
Анализ существующих аналогов
Требования и роли пользователей
Обоснование выбора технологий
Архитектура приложения
Система помощи
Демонстрация игры «Четыре в ряд»
Диаграмма действия игры «Четыре в ряд»
Генератор случайных чисел и подбрасывание монетки
Информационные команды
Публикация и развёртывание
Заключение
2.59M

Презентация

1. Дипломный проект Разработка чат-бота с модерацией и играми

Автономная некоммерческая профессиональная образовательная организация
«Хекслет колледж»
Дипломный проект
Разработка чат-бота с
модерацией и играми
Студент: Руднев Даниил Андреевич
Группа: 03-23.ИСИП.ОФ.11
Направление: 09.02.07
«Информационные системы и
программирование»
Руководитель: Баратов Михаил
Яковлевич

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

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

3. Цель и поставленные задачи

Разработка многофункционального чат-бота, предоставляющего
игровые и полезные функции без использования серверной базы
данных.
1. Рассмотреть предметную область чат-ботов
2. Проанализировать существующие аналоги и сформулировать
функциональные требования
3. Спроектировать логику взаимодействия пользователя с ботом
4. Реализовать продукт на языке Python с применением
библиотеки aiogram
5. Провести тестирование бота и оценить соответствование
требованиям
6. Подготовить продукт к локальному развёртыванию

4. Идентификация предметной области и общая характеристика продукта

• Чат-бот - программа, взаимодействующая с пользователем
через текстовый интерфейс мессенджера
• Основные функции:
• игра «Четыре в ряд» (Connect4) с интерактивным управлением
• бросок костей, генерация случайных чисел в различных форматах
• подбрасывание монетки
• информация о пользователе и чате, просмотр аватар
• Модульная архитектура, вся логика - на backend, состояние
игр хранится в оперативной памяти

5. Анализ существующих аналогов

Критерий
googledrivetelegrambot
mirrorAdv-AutoleechFilter-Bot-V2
telegrambot
Интерактивные кнопки
-
-
-
Система помощи
-
Базовая
Развёрнутая
Хранение данных
-
-
БД
Обработка ошибок
Частичная
-
Полная
Модульность кода
Низкая
Средняя
Средняя
Сильные стороны
конкурентов (модульность
кода, помощь)
объединены в боте,
добавлена уникальная
игра, реализована работа
без БД.

6. Требования и роли пользователей

Функциональные
требования:
• Многоуровневая справка
• Игра Connect4 с кнопками
• Генератор случайных чисел
(диапазоны, кубики)
• Монетка, информация о
пользователе и чате
• Нефункциональные:
• Отклик <= 1 с
• Без БД
• Обработка ошибок
• Простота локального
запуска
Роль: Пользователь (доступны все команды)

7. Обоснование выбора технологий

• Python 3.12 - асинхронность, скорость разработки
• aiogram - асинхронный фреймворк для ботов (поддержка
кнопок, MemoryStorage)
• Без СУБД - временное хранение состояний в словаре states
• python-dotenv, модульная структура проекта

8. Архитектура приложения

Блок-схема файлов проекта:
main.py
handlers/
cephalon.py
fun.py
misc.py
vars.env
requirements.txt

9. Система помощи

Первичное меню помощи
Меню «Игры»
Меню «Утилиты»
Меню «Основные»

10. Демонстрация игры «Четыре в ряд»

11. Диаграмма действия игры «Четыре в ряд»

12. Генератор случайных чисел и подбрасывание монетки

/roll без аргументов
/roll 4d20
/roll 1d2 или /coin

13. Информационные команды

/about без
аргументов
/about в ответ на
сообщение пользователя
/chatinfo

14. Публикация и развёртывание

1. Клонировать репозиторий с Github
2. Установить Python 3.12 и зависимости
3. Создать vars.env и поместить туда токен
4. Запустить python main.py
Ссылка на репозиторий: https://github.com/D-9341/tg-Bot

15. Заключение

• Все поставленные задачи решены, цель достигнута
• Создан работоспособный чат-бот с игрой, генератором
чисел и информационными командами
• Реализована модульная архитектура, не требующая базы
данных
• Продукт готов к использованию и прост в развёртывании
• Возможное развитие: новые игры, интеграция с внешними
API, лёгкое файловое хранение статистики
English     Русский Rules