January 23, 2024

Игровые механики с помощью API запросов 🎯

В этой статье внедрим интересную игровую механику в ваш бот с помощью API запросов Puzzlebot.

1. Добавим токен API

Запросы к API Puzzlebot имеют базовый вид:

https://api.puzzlebot.top/?token=ТОКЕН_API&method=НАЗВАНИЕ_МЕТОДА

Создадим интеграцию в настройках бота:

Настройки - Интеграции - Входящие запросы - Сгенерировать API токен

2. Добавим метод API

Метод API - это действие, которое должен совершить бот. Мы будем использовать метод sendDice для отправки анимированных эмодзи со случайными значениями.

В телеграме есть несколько эмодзи такого вида, все они прописаны в документации приложения и имеют значения 1-6, 1-5, 1-64.

Для API PB используется написание метода как: tg.sendDice

3. Добавим параметры запроса

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

Мы будем использовать параметры chat_id - для идентификации пользователя
Параметр chat_id равен переменной {{USER_ID_TEXT}} в Puzzlebot.

А также параметр emoji, его значение будет равно выбранному эмодзи 🎲 🎯 ⚽️ 🎳 🏀 🎰

4. Создаем интегрированную переменную в Puzzlebot

  • Укажем название переменной
  • Тип значения: Интегрированный
  • Тип интеграции: HTTP-запрос
  • Формат значения: число
  • Значение по умолчанию: 0
  • Ссылка json: https://api.puzzlebot.top
  • Ответ: выбираем из списка result.dice.value - это случайное значение эмодзи
  • Тип запроса: GET
  • Значения параметров для удобства можно записывать в специальные ячейки

token: API token

method: tg.sendDice

chat_id: {{USER_ID_TEXT}}

emoji: 🎲

✅ Здесь уже можно закончить - если вы добавите в любую команду переменную emoji, то при вызове команды бот отправит эмодзи вместе с его значением (цифрой).

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

5. Создаем сценарий для игры

Для начала пропишем команды, на которые будем отправлять пользователя при определенных значениях эмодзи.

В зависимости от выбранного эмодзи значение будет варьироваться: 1-6, 1-5, 1-64. Создаем количество команд в соответствии с этим значением, для кубика их будет 6.

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

6. Пропишем условие

Правило:
Выбираем тип проверки: Значение переменной
Ищем нашу переменную emoji и указываем значение 1

Действие:
Выбираем тип действия: Отправить команду или условие
Выбираем нужную команду, у меня это 1_emoji

Аналогичным образом прописываем условия для остальных значений эмодзи

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

7. Тестируем

Здесь про разработку креативных чат-ботов 🎲

Наше агентство <xMPL>

Обучение по созданию чат-ботов

Консультации по созданию чат-ботов