Similar presentations:
Презентация
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. Клонировать репозиторий с Github2. Установить Python 3.12 и зависимости
3. Создать vars.env и поместить туда токен
4. Запустить python main.py
Ссылка на репозиторий: https://github.com/D-9341/tg-Bot
15. Заключение
• Все поставленные задачи решены, цель достигнута• Создан работоспособный чат-бот с игрой, генератором
чисел и информационными командами
• Реализована модульная архитектура, не требующая базы
данных
• Продукт готов к использованию и прост в развёртывании
• Возможное развитие: новые игры, интеграция с внешними
API, лёгкое файловое хранение статистики