Розыгрыш в Telegram
В данной инструкции мы покажем как реализовать розыгрыш в 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% }

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

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

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

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

Как мы видим все отлично работает.
Творческих взлётов и успешного внедрения!
Вернуться на главную страницу инструкций