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

Используйте этот кейс для одобрения или отклонения заявок на доступ к боту. Оповещения о каждой заявке будут приходить в Телеграм вместе с кнопками по которым заявку можно будет принять или отклонить.

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

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

В кейсе используются Кнопки с подсказками и Развилка с одной целью, ведущей на следующий экран с заявкой.

2. Создайте новый экран. В примере этот экран называется «‎Экран с заявкой», но вы можете назвать его по-другому. Сделайте переход на этот экран с Цели 1 Развилки, которую вы добавили на первый экран.

3. Добавьте на этот экран Запись переменной для того чтобы перезаписать в новую переменную ID пользователя. Это пригодится в будущем.

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

{{this_user.platform_id}}

4. Добавьте пять новых экранов. Они понадобятся для распределения пользователей и оповещений в боте.

  • Заявка принята — на этом экране может быть продолжение сценария для одобренного пользователя,
  • Заявка не принята — этот экран может никуда не вести и быть окончанием сценария для пользователя, которому не одобрили доступ к боту,
  • Принять — этот экран придет оператору после того, как он примет заявку,
  • Отказать — этот экран придет оператору после того, как он откажет в заявке,
  • Ошибка запроса — экран, который придет, если запрос выполнится с ошибкой.

5. Сохраните изменения, перейдите в НастройкиСобытия и добавьте два Внешних события — по одному для каждого варианта. Это значит, что экран для первого события будет Заявка принята, для второго — Заявка не принята.

6. Сохраните изменения и снова перейдите в Редактор бота.

7. На Экран с заявкой добавьте Кнопки сразу после Записи переменной.

8. Раскройте настройки компонента справа и в поле id получателя добавьте ID пользователя, который будет одобрять или отклонять заявки. Этот ID можно скопировать из раздела Пользователи напротив нужного вам имени пользователя.

9. Напишите текст перед кнопками. В примере это ссылка на юзернейм пользователя @{{this_user.username}} и его ID {{this_user.platform_id}}

ID может быть в перезаписанном виде: {{UserID}}

10. Добавьте две кнопки — одну для того, чтобы принять заявку, вторую, чтобы отклонить.

11. Разверните настройки первой кнопки и отметьте галочку Возможность отправлять запрос.

12. В URL запроса скопируйте ссылку из настроек Внешнего события, которое вы настроили ранее для принятия заявок.

13. Метод запроса в выберите POST.

14. Добавьте Тело запроса:

    {
        "platform": "tg",
        "users": "{{UserID}}"
    }

17. Выберите Экран который выполнится при удачном выполнении запроса — Принять.

18. Выберите ранее созданный экран для ошибки запроса.

19. Отметьте чек-бокс Зафиксировать переменные в шаблонах.

20. Разверните настройки второй кнопки и отметьте Возможность отправлять запрос.

21. В URL запроса скопируйте ссылку из ранее созданного Внешнего события для отказа в заявке. Для этого нужно вернуться в раздел События в Настройках, скопировать ссылку из нужного события и вернуться обратно в редактор.

22. Выберите метод запроса POST как для прошлой кнопки и добавьте такое же тело запроса:

    {
        "platform": "tg",
       "users": "{{UserID}}"
    }

23. Выберите Экран который выполнится при удачном выполнении запроса — Отказать.

24. Выберите ранее созданный экран для ошибки запроса.

25. Отметьте чек-бокс Зафиксировать переменные в шаблонах.

26. Сохраните изменения.

Готово.