Розыгрыш в 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 текстом:
Команды обнулены
Все просто. Тестируем.
Как мы видим все отлично работает.
Творческих взлётов и успешного внедрения!
Вернуться на главную страницу инструкций