Розыгрыш в Telegram

В данной инструкции мы покажем как реализовать розыгрыш в Telegram. Все просто: повторяйте шаги в инструкции и все получится.

Лирическое отступление… Интеграция с Telegram, создание бота и привязка аккаунта ВК должны быть сделаны по соответствующим инструкциям.

План инструкции:

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

Полетели.

Команда для старта розыгрыша

Видеодемонстрация

События:

1) Событие: «Написал сообщение в Telegram» с текстом /game

Важно! Ключевик может быть любым нужным вам. В примере игра проходит в боте. И повторный запуск никак не блокируется, вы можете это сделать самостоятельно по аналогии, как показано в видео. Если у вас списываются мили, то проверяйте привязку TG к VK.
Пример запуска игры
Пример запуска игры

Рекомендую добавить условие:

1) Числовая переменная %chat_id% больше 0, т.е. сообщение написано в ЛС боту.

Сообщение только в ЛС бота
Сообщение только в ЛС бота

Действия:

1) Для запуска розыгрыша используем действие «отправить запрос в Telegram» на метод sendDiceс нужными параметрами. Подробности в документации.

Запрос розыгрыша
Запрос розыгрыша

2) Временной переменной %emoji% через JSON PATH достаем стикер розыгрыша. То есть:

%response.result.dice.emoji%
Достаем стикер игры
Достаем стикер игры

3) Временной переменной %value% через JSON PATH достаем число для розыгрыша.

%response.result.dice.value%
Достаем число для розыгрыша
Достаем число для розыгрыша

4) Чтобы записать выпавшее значение делаем уникальное имя поля профиля игрока (в примере dice), и в json формате записываем этим действием со значением:

{
"emoji":
"%emoji%",
"value": %value% }
Запись json
Запись json

5) На этапе тестирования отправляем действием «Отправить сообщение в Telegram» отправляем текст с текстом:

%chat_id%
%response%
%value%
%emoji%
Пример отправки сообщения на этапе тестирования. Потом можно выключить.
Пример отправки сообщения на этапе тестирования. Потом можно выключить.

Команда для розыгрыша

Важно! Это пример розыгрыша на полях игрока, пример как настроить с привязкой показан в видео. Обращайте внимание на название поля игрока.

События:

1) Событие: «Написал сообщение в Telegram» с пустым текстом

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

Рекомендую добавить условие:

1) Числовая переменная %chat_id% больше 0, т.е. сообщение написано в ЛС боту.

Сообщение только в ЛС бота
Сообщение только в ЛС бота

2) Переменная %attach_type% содержит dice, чтобы запускалось только на игры.

Запуск только розыгрыша
Запуск только розыгрыша

3) Для того, чтобы запускать, когда розыгрыш совпадает у игрока и у бота добавляем условие: переменная %tg_dice_emoji% подходит под регулярку с переменной %player.dice.emoji%

Запуск только нужной игры
Запуск только нужной игры

4) Чтобы ограничить количество попыток добавляем условие: числовая переменная %player.dice_count% меньше 3, иначе в реакциях на невыполнение пишем текст, что попытки кончились. Реакции на невыполнение тратят мили.

Ограничиваем количество попыток.
Ограничиваем количество попыток.

5) Опционально (для привязки TG к VK) можете делать другое условие для примера выше. Условие: «Выполнена команда»0 выполнена меньше 3 раз.

Пример условия при привязке.
Пример условия при привязке.

Действия:

1) Опционально (если делаете только на полях игрока) добавляете условие «Изменить поле профиля игрока» с названием dice_count(оно должно быть уникальным) и значением увеличенным на 1.

Увеличиваем количество попыток
Увеличиваем количество попыток

2) Временной переменной %dice% через JSON PATH достаем стикер розыгрыша из поля игрока dice. Если нужно можете использовать {fields} Пример:

%player.dice.emoji%
Достаем стикер розыгрыша
Достаем стикер розыгрыша

3) Временной переменной %value% через JSON PATH достаем число для розыгрыша из поля игрока dice. Если нужно можете использовать {fields} Пример

%player.dice.value%
Достаем число розыгрыша
Достаем число розыгрыша

4) Чтобы формировать адекватный текст при выигрыше и т.д. делаем условную переменную %text% со значением:

  • Если %tg_dice_value% равна %value%, то текст: Ничья
  • Если %tg_dice_value% больше %value%, то текст: Ты выиграл, так как выиграл игрок.
  • Если %tg_dice_value% меньше %value%, то текст: Ты проиграл, так как выиграл бот.
Пример текста
Пример текста
Важно! В видео тип игры проверяется в условии, но в видео показаны все дополнительные моменты, конспект уже содержит все улучшения.

5) Для отправки сообщения игроку используем действие: «Отправить сообщение в Telegram» c текстом:

%text%
Отправка сообщения игрока
Отправка сообщения игрока

Команда для обнуления (в случае привязки ВК)

Важно! Это команда сделана специально, чтобы можно было тестировать на этапе сборки и обнулять попытки.

События:

1) Чтобы обнулить выполнение команды добавляем событие: «Написал сообщение в Telegram» с любым ключевиком. В примере: 123

Пример события
Пример события

Рекомендую добавить условие:

1) Числовая переменная %chat_id% больше 0, т.е. сообщение написано в ЛС боту.

Сообщение в ЛС Боту
Сообщение в ЛС Боту

2) Числовая переменная %player.tg_id% содержит ID вашего аккаунта Telegram

Пример условия, достаточно запустить команду без условия и вывести %chat_id%
Пример условия, достаточно запустить команду без условия и вывести %chat_id%

Действия:

1) Для отмены добавляем действие «Исключить из списка» с переключателем команды и указываем нужные номера команд через запятую. В примере: 1026239,1026235

Пример действия
Пример действия

2) Опционально: для отправки выводим себе сообщение действием: «Отправить сообщение в Telegram» c текстом:

Команды обнулены
Пример сообщения
Пример сообщения

Все просто. Тестируем.

Все работает.
Все работает.

Как мы видим все отлично работает.

Творческих взлётов и успешного внедрения!

Вернуться на главную страницу инструкций
160 views·3 shares