Бот для работы с анекдотами, который умеет:
- Рассказывать случайные анекдоты
- Озвучивать анекдоты голосом
- Управлять балансом пользователей
-
Подробное описание архитектуры, стека технологий и структуры проекта находится в docs/DETAILS.md
-
🍿 Подробные use-case проекта docs/DEMO.md
-
Последовательные изменения проекта в docs/CHANGELOG.md
- Клонируйте репозиторий:
git clone <repository-url>
cd python_ml_billing_service- Создайте файл
.envна основе.env_example:
cp .env_example .env- Запустите проект через Docker Compose:
docker-compose up -d/start- Начать работу с ботом/help- Показать справку/joke- Получить случайный анекдот/joke_voice- Получить озвученный анекдот/balance- Проверить баланс
python_ml_billing_service/
├── bot/ # Telegram бот
├── worker/ # Асинхронный обработчик задач
├── db/ # Работа с базой данных
├── services/ # Бизнес-логика
├── models/ # Модели данных
├── utils/ # Вспомогательные функции
├── ai_studio/ # AI сервисы (TTS/STT)
└── monitoring/ # Мониторинг (Prometheus + Grafana)
- Python 3.11+
- PostgreSQL (хранение пользователей, балансов, анекдотов)
- RabbitMQ (асинхронная обработка)
- Docker & Docker Compose
- Prometheus & Grafana
- Yandex SpeechKit (TTS/STT)
База данных содержит следующие основные таблицы:
users- информация о пользователяхbalances- балансы пользователейjokes- коллекция анекдотовtasks- история задачtransactions- история транзакций
Бот использует Yandex SpeechKit для:
- Преобразования текста в речь (TTS)
- Преобразования речи в текст (STT)
- Форкните репозиторий
- Создайте ветку для новой функциональности
- Внесите изменения
- Создайте Pull Request
MIT
