Перейти к основному контенту

Метабот: Тотализатор

Конфигурация находится в бизнесе

Бот Telegram @totalKonfigbot

Этот бот выполняет функцию тотализатора. Он позволяет сделать ставки, например, на исход боевых состязаний в день шоу.

Перед началом игры участники должны нажать кнопку Принять участие, чтобы записаться в таблицу участников, которым будут приходить уведомления Тотализатора.

После нажатия кнопки, они фиксируются в таблицу с балансом и фиксацией ставок.

Бот так же адаптирован под ВК

Таблицы

Программы тотализатора

image.png

Таблица programs содержит программы тотализатора и их статусы.

Описание параметров:

  • Код для ставки - должен состоять из следующих символов p{номер_программы}f{номер_события}, например p3f1 = программа 3, событие 1. Для тестовой программы используйте код p0f1.
  • Номер программы и Номер события - в таблице записи идут по событиям, а не по программам. То есть на каждое событие каждой программы есть запись. Номер программы в таблице повторяется столько записей, сколько событий у этой программы. По каждой программе кроме тестовой должно быть 3 события.

image.png

  • Коэффициент - на него будут умножаться очки при выигрыше ставки.
  • Случилось? - показатель сыграло ли событие. 1 - Сыграло/0 - Не сыграло.
  • Статус программы - не запущено - draft / запущено - start / сыграно - finished.

Тотализатор - участники

image.png

Таблица participants содержит регистрации участников и их ставки.

Описание параметров:

  • Активен? - статус активности участника. 1 - активен на текущем мероприятии / 0 - неактивен на текущем мероприятии / 2 - неактивен в боте.
  • Баланс - количество очков. По ним высчитывается победитель.
  • Победитель - статусы победителей. 1 - победитель / 0 - не победитель / 2 - не участвовал в обязательных программах.
  • Тест - ставка в тестовой программе.
  • П1:Ф1...Пn:Ф3 - события программ. Для каждого события из таблицы programs должен быть свой параметр Пn:Фn и соответствовать коду для ставки из той же таблицы. В этот параметр будет заноситься ставка пользователя по событию.

Тотализатор - организаторам

Меню организатора

image.png

Из меню организатору доступны следующие действия:

  • Начать игру - тестовая ставка - запуск тестовой программы.
  • Программы ставок - слайдер программ.
  • Завершить игру - завершение всей игры.
  • Посмотреть победителей - вывод списка победителей.

Программы ставок

image.png

В слайдере программ можно запустить неоткрытую программу или завершить открытую. При запуске программы из слайдера или из тестовой ставки зарегистрированным на мероприятие из таблицы рассылается сообщение об открытии ставок.

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

image.png

При завершении программы зарегистрированным на мероприятие из таблицы рассылается сообщение о закрытии приема ставок.

Далее организатор может выбрать какие события сыграли.

image.png

Выбор осуществляется по кнопкам. Выбранные события отображаются в сообщении (можно одно, несколько или все). После выбора событий их можно подтвердить по кнопке Отправить ответ.

После отправки ответа зарегистрированным на мероприятие из таблицы рассылается сообщение о результатах программы.

Завершить игру

После завершения игры зарегистрированным на мероприятие из таблицы рассылается сообщение об этом.

Посмотреть победителей

По результатам в таблице высчитываются победители. Победителя может быть максимум 3. Вычисление происходит по количеству баллов.

Если в игре есть программы обязательные к участию для победы, их можно проставить в атрибуте programsX. В нем выставляются номера программ без разделителей, например: 362 - обязательны 2, 3 и 6 программы, если участник не делал в них ставки, то он не может стать победителем.

После расчетов победителей можно отправить участникам рассылкой.

image.png

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

Тотализатор - участникам

Тестовая программа

После запуска тестовой программы организатором, участникам отправляется следующее сообщение:

image.png

По кнопке Поставить ставку участник может поставить баллы на событие не превышающие его баланс.

image.png

После завершения тестовой ставки участникам приходит следующее сообщение:

image.png

Подсчет происходит по формуле : Коэффициент * Ставка + Балланс

Основные программы

Основные программы работают по тому же принципу.

При запуске одной из основных программ участникам приходит сообщение:

image.png

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

После закрытия приема ставок участники получают следующее сообщение:

image.png

После выбора организатором сыгранных событий они высылаются участникам:

image.png

Если баланс участника опустился до нуля, он отмечается в таблице как неактивный в данной игре и ему больше не высылаются сообщения о приеме ставок. При подсчете победителей такой участник все-равно учитывается.

После завершения игры и определения победителей это так же высылается участникам:

image.png

Победителям и другим участникам отсылается разный текст в зависимости от их статуса.

После завершения участники текущей игры отмечаются в таблице как неактивные в боте.