Шахматный бот в формате Telegram Web App

Платформа: Telegram

Основная задача:

Реализовать шахматную игру в интерактивном формате.

Хочу такой-же

Описание проекта

Ещё год назад геймификация в Телеграмм ботах ограничивалась лишь примитивными механиками, такими как, например квизы. Но с появлением технологии WebApp стало возможным создавать визуальные решения любого уровня сложности, в том числе и игры. С такой задачей в нашу студию и обратился клиент. Нам предстояло разработать полноценную шахматную игру в мессенджере, со всей сопутствующий логикой и визуализацией. Помимо самой механики игры в боте присутствуют и дополнительные функции вовлечения и монетизации пользователей.

Технологии

  • Python
  • PostgreSQL
  • Figma
  • JavaScript
  • Docker
  • Telegram API

Функционал

Игровая механика

Игра происходит в онлайн формате между двумя людьми. В качестве соперника можно выбрать либо друга, либо случайного пользователя. Процесс поиска соперника занимает не более пяти минут, если за это время спарринг партнёр не будет найден, бот предлагает вернуться позже. Игра начина-ется после подтверждения обоих пользователей. Если кто-то не подтвердил готовность в течение минуты, ему засчитывается техническое порождение. На один ход игроку даётся не более 30 секунд, с возможностью трижды использовать дополнительное время (плюс 15 секунд). Для отслеживания времени на основном экране присутствует таймер обратного отсчёта. Помимо этого у игрока есть возможность сдаться или предложить ничью сопернику. По окончанию игры бот сохраняет результат в базу данных.

Рейтинг и награды

Раз в неделю на основании статистики формируется рейтинг из десяти лучших игроков. Согласно этому рейтингу распределяется денежное вознаграждение установленное администратором. До момента публикации рейтинга игроки не знают своё положение в турнирной таблице. Это позволяет повышать общее количество сыгранных партий.

Реферальная система

Для участия в рейтинге и как следствие в розыгрыше денежных призов пользователю необходимо получить десять реферальных баллов, что эквивалентно двум приведенным игрокам. Для отслеживания количества рефералов для каждого пользователя создаётся уникальная ссылка.

Платная подписка

Каждый пользователь имеет возможность оформить платную подписку, для получения оплаты в бот интегрирован сервис ЮKassa. Подписка позволяет: участвовать в рейтинге без приведения рефералов, дополнительное время можно взять 15 раз за партию по 20 секунд, получать бесплатный разбор партии после её окончания. Также пользователь получает возможность отслеживать свою личную статистику, это позволяет ему понять, сколько еще нужно партий выиграть/сыграть, чтобы претендовать на розыгрыш денег.

Админ панель

Администратор имеет возможность делать массовую рассылку сообщений для рекламы и важных уведомлений, отслеживать статистики бота, управлять подпиской любого пользователя, добавлять новых администраторов, начислять выигрыши игрокам.

Итог

Создали полноценную игру с использованием технологии Telegram WebApp. За первый месяц в боте было сыграно свыше 3 000 шахматных партий.

ХОЧУ ТАКОГО-ЖЕ ЧАТ-БОТА
Похожие кейсы