Игровой бот для социальной сети ВКонтакте
Ссылка:
🌐 Исходный code
Технологии:
Python · aiohttp · Redis · PostgreSQL · RabbitMQ
Роль:
Backend-разработчик — API, FSM, деплой, инфраструктура
В рамках стажировочного курса компании KTS требовалось разработать игрового бота для социальной сети ВКонтакте, который должен был быть:
- устойчивым к перезагрузкам и зависаниям,
- защищённым от блокировок со стороны VK API,
- способным сохранять и восстанавливать состояние игры,
- готовым к работе под нагрузкой с большим количеством сообщений.
Задача:
Создать бота для сообществ ВКонтакте, реализующего две игровые механики:
- 🧩 Игра "100 к 1"
- 🎓 Викторина
При этом следовало:
- разработать API и систему авторизации,
- реализовать FSM-логику для управления состояниями игры,
- выполнить деплой и хостинг,
- следовать Clean Architecture в рамках корпоративных стандартов KTS,
- обеспечить покрытие тестами более 90% кода.
Действие:
- Реализовал бэкенд на aiohttp, без использования готовых VK-фреймворков — все взаимодействия выполнялись напрямую через VK API.
- Спроектировал и задокументировал REST API.
- Разработал авторизацию пользователей и обработку игровых событий.
- Создал FSM (Finite State Machine) для управления состояниями игры.
- Настроил инфраструктуру с использованием Redis, PostgreSQL и RabbitMQ для очередей сообщений и хранения данных.
- Настроил деплой и хостинг, обеспечив отказоустойчивость и сохранение состояния при перезагрузке.
- Организовал систему автоматического тестирования с покрытием кода > 90%.
- Все изменения проходили код-ревью и аппрув ведущего разработчика KTS.
Результат
Создан отказоустойчивый игровой бот для ВКонтакте с двумя игровыми режимами, безопасный для VK API и готовый к использованию в реальных сообществах.
Бот сохраняет прогресс игр при сбоях и автоматически восстанавливает состояние после перезапуска.
✅ Итог:
- проект успешно принят менторами KTS;
- получен сертификат об успешном окончании стажировки;
- исходный код опубликован в открытом доступе.
- пройдена защита проекта
🔧 Ключевые возможности проекта
- 🎯 Игра "100 к 1" и викторина для сообществ
- 🧠 FSM для управления игровыми состояниями
- 🔐 Авторизация и API-документация
- 🗄️ Хранение данных в PostgreSQL и Redis
- 📬 Очереди сообщений через RabbitMQ
- 🧪 Тестовое покрытие > 90%
Используемые технологии
Дополнительная информация
- Тип проекта: Open Source
- Дата создания: 12.11.2025
- Последнее обновление: 12.11.2025