Чат-бот для ответов на вопросы с системой FAQ, поиском и настройками пользователя.
- Создать интерфейс чат-бота при помощи библиотек на Python.
- Описать процессы чат-бота в виде схем.
- Описать каждый элемент процесса на Python.
- Многоуровневая система FAQ (темы -> вопросы -> ответы)
- Поиск по базе знаний
- Настройки пользователя (уведомления, язык интерфейса)
- Python 3.12.7
- sqlite3
- aiogram 3
- python-dotenv
Обозначения:
- * - не реализованно
graph TD
A[Пользователь] --> B[Telegram]
B --> C[Бот TAQBot]
C --> D[Обработчики команд]
C --> E[FSM состояния]
C --> F[База данных]
D --> G[Ответ пользователю]
E --> G
F --> G
graph TD
A[Главное меню] --> B[Выбор темы FAQ]
B --> C[Выбор вопроса]
C --> D[Просмотр ответа]
D -->|Назад| C
C -->|Назад| B
graph TD
A[Главное меню] --> B[Меню настроек]
B --> C[Управление уведомлениями]
B --> D[Смена языка]
C -->|Сохранить или Назад| B
D -->|Сохранить или Назад| B
B -->|Назад| A
graph TD
A[Главное меню] --> B[Активация поиска]
B --> C[Ввод запроса*]
C --> D[Результаты поиска*]
B -->|Отмена| A
C -->|Отмена| A
- Склонировать репозиторий:
git clone https://github.com/NicoNightL/TAQBot.git- Установить зависимости:
pip install -r requirements.txt- Создать файл .env:
TOKEN=ваш_токен_бота- Запустить бота:
python run.pyTAQBot/
├── app/
│ ├── database.db # База данных бота
│ ├── database.py # Работа с данными
│ ├── handlers.py # Обработчики сообщений
│ └── keyboards.py # Клавиатуры бота
├── .env # Переменные окружения
├── config.py # Конфигурация
├── README.md # Документация
├── requirements.txt # Зависимости
└── run.py # Точка входа