Заявка на вступление (Telegram)
Событие Заявка на вступление позволяет обрабатывать заявки автоматически. Оно присылает экран или сообщение, когда пользователь подаёт заявку на вступление в закрытую группу/канал по пригласительной ссылке.
Событие срабатывает независимо от того, приняли пользователя в группу/канал или нет, даже если пользователь до этого никогда не писал боту.
- Настройка автоматического принятия/отклонения заявок →
- Настройка ручного принятия/отклонения заявок →
Настройка автоматического принятия/отклонения заявок через событие Заявка на вступление и компонент Принять или отклонить заявку
1. Создайте частную группу/канал.
2. Добавьте бота в администраторы группы/канала (Настройки группы → Добавить участника).
3. Включите поддержку групп в настройках.
У бота должны быть все права и разрешения администратора. В случае, если статус администратора не появился у бота при добавлении в группу автоматически, необходимо назначить бота админом вручную.
4. Напишите группе от имени бота.
Если бот не написал группе автоматически, нажмите на название бота в шапке бота-админа, чтобы открылся раздел Информация → Группы и выберите группу, в которую добавлен бот. Напишите /start группе.
5. Добавьте компонент Принять или отклонить заявку на экран и выберите, что он будет делать — принимать или отклонять заявки.
При необходимости можно добавить два подряд компонента — один с отметкой Принять, другой с отметкой Отклонить. У пользователя сработает один из двух компонентов, в зависимости от наличия/отсутствия у него проверяемых переменных. Переменные пользователя можно проверять с помощью Условного шаблона.
6. Добавьте ID группы/канала или юзернейм группы/канала в компонент. (Чтобы получить ID канала в Телеграм, нужно открыть канал в веб-версии. В конце адресной строки будет число — это и есть id канала. В начале этого числа допишите: -100. То есть, если в адресной строке веб-версии отобразилось web.telegram.org/a/#-2234567899, то в поле Telegram ID нужно вписать: -1002234567899. ID группы можно увидеть в разделе Пользователи после добавления бота в админы группы).
ID группы появится в разделе Пользователи после того, как бот будет добавлен в группу и в эту группу отправится сообщение от бота.
7. При необходимости добавьте экраны для удачного ответа и для ошибки.
Экран для удачного ответа сработает при правильной работе компонента:
- Если при выбранной функции Принять заявка принимается и пользователю приходит экран удачного ответа, то компонент работает правильно.
- Если при выбранной функции Отклонить компонент отклоняет заявку, пользователю приходит экран удачного ответа, то компонент работает правильно.
8. В Настройках создайте событие Заявка на вступление. В Действии укажите Тип — Экран, на котором уже настроен компонент Принять/отклонить заявку.
9. Сгенерируйте пригласительную ссылку для пользователя.
По обычной ссылке на группу/канал, взятой из информации, пользователь сразу попадает в канал/группу без предварительного одобрения или отклонения заявки. Поэтому нужно создать специальную пригласительную ссылку. Для генерации ссылки нажмите на аватар в шапке группы, затем "Изменить" и в открывшемся разделе настроек создайте пригласительную ссылку
Теперь, если пользователь перейдет по пригласительной ссылке в группу/канал и в открывшемся окне подаст заявку на вступление, то в диалоге с ботом ему придет указанный экран и заявка отклонится/примется ботом автоматически.
Если задан экран для удачного и неудачного ответа, то пользователю придет экран в зависимости от результата.
Настройка автоматического принятия/отклонения заявок через событие Заявка на вступление, компонент Принять или отклонить заявку и Условный шаблон
Заявки можно принимать вместе с использованием Условного шаблона.
Например, боту нужно принимать пользователей, которые при опросе указали, что им больше 16 лет. Заявки от пользователей ответивших, что им меньше 16 лет, будут отклонены автоматически.
Для того, чтобы такой сценарий сработал нужно:
- Спросить у пользователя возраст и записать его в переменную.
- Добавить компонент Принять или отклонить заявку. В настройках компонента добавить Условный шаблон, проверяющий возраст пользователя.
- Создать событие Заявка на вступление.
Оформляем экраны в конструкторе:
1. Создаем экран и добавляем на него компонент Сообщение — так мы спросим у пользователя его возраст.
2. Запишем возраст в переменную age с помощью Ввода от пользователя.
3. Добавляем два подряд компонента Принять или отклонить заявку с ID нашей группы. Один компонент будет одобрять заявки, другой — отклонять.
4. В компонент, который будет принимать заявки, добавляем условный шаблон для проверки на возраст — {{gte (toInt age) 16}}.
В компоненте, отклоняющем заявки, условный шаблон оставляем пусты
5. Добавляем событие Заявка на вступление, настроенное на экран с опросом пользователя и компонентами Принять или отклонить заявку. Делаем сохранение.
Теперь, перед автоматическим добавлением/отклонением пользователя в группу, бот будет спрашивать его про возраст, затем автоматически добавлять в группу только тех, кто ответил, что ему больше 16 лет.
Разделять пользователей с помощью условного шаблона можно как по возрасту, так и по любому другому принципу.
Настройка ручного принятия/отклонения заявок через событие Заявка на вступление
Если событие настроено на экран, в котором нет компонента Принять или отклонить заявку, то событие тоже сработает, но обработка заявок администратором канала/группы будет осуществляться вручную.
Для настройки такого события, нужно проделать следующие шаги:
1. Создать частную группу/канал.
2. Добавить бота в администраторы группы/канала и написать в группу/канал сообщение от имени бота. У бота должны быть все права и разрешения администратора.
3. Включить поддержку групп в настройках.
4. Добавить событие Заявка на вступление, в котором должен быть указан экран или текст, который придет пользователю.
5. Сгенерируйте пригласительную ссылку для пользователя.
6. Отправьте такую ссылку пользователю. Пользователь перейдет по ссылке и подаст заявку в открывшемся окне в Telegram.
7. После этого пользователю придёт сообщение или экран, настроенный в событии, даже если он никогда не писал боту.
В это время от пользователя в нашу закрытую группу/канал придет запрос на вступление. Запрос будет виден только в самой группе. Принять или отклонить запрос нужно вручную.