Как проверить подписку пользователя на канал в MAX

В этой инструкции вы узнаете, как проверить, подписан ли пользователь на канал в MAX, и как использовать результат проверки в сценариях

Для проверки подписки пользователя на канал в MAX необходимо выполнить следующие шаги:

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

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


2. Создание узла с HTTP-запросом

  • Создайте узел с помощью зелёной кнопки с плюсиком, расположенной вверху над деревом узлов, или с помощью кнопки Создать в контекстном меню, открывающемся при нажатии правой кнопкой мыши на любой из имеющихся узлов.

Создание нового узла
  • Введите наименование узла. Например, Проверка подписки на канал в MAX

circle-exclamation
Наименование созданного узла
  • Теперь перейдём к настройке узла.

Если блок Интеграции и процедуры свёрнут, нажмите на него, чтобы развернуть его.

Настройка узла: блок Интеграции и процедуры
  1. Необходимо поставить галочку возле пункта Сделать HTTP-запрос

  2. Вставьте в поле запроса следующий код:

Настройка узла: создание HTTP-запроса
chevron-rightГде найти ID канала в MAX?hashtag

ID канала указан в адресной строке браузера, если открыть канал в веб-версии мессенджера MAX.

chevron-rightГде найти токен бота в MAX?hashtag

Токен для вызова HTTP-запросов присваивается при создании бота. Его можно найти на платформе MAX для партнёровarrow-up-right в разделе Чат-ботыИнтеграцияПолучить токен.

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


3. Настройка процедуры

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

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

И вот так, если пользователь не подписан:

Таким образом, после запроса необходимо обработать ответ. А именно — проверить, является ли массив members пустым. Если да, значит пользователь не подписан. Если массив не пустой, значит пользователь подписан.

Для реализации данной логики необходимо в редакторе процедур добавить следующий код:

Настройка узла: логика обработки ответа
circle-info

Не забывайте сохранять настройки узла после внесения изменений.

В приведённом примере, если пользователь подписан на канал, он переводится в узел Проверка подписки на канал: подписан. В ином случае — в узел Проверка подписки на канал: не подписан.

circle-exclamation

Last updated