Шаблон

Эмодзи-капча

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

Для кого: Для владельцев ботов и Telegram-групп, на которые нападает спам и автоматические вступления. Работает внутри Telegram, без сторонних сервисов, живой человек проходит проверку за секунды.

  1. /start
  2. Нажми на ➡️ Яблоко
    🍌🍇🍒
    🍋🍎🍉
  3. 🍎
  4. ✅ Проверка пройдена! Добро пожаловать — продолжаем.
Новый пользователь доказывает, что он не робот

Как это работает

  • Срабатывает триггер: /start в личке или событие вступления в группу
  • Одно действие «Капча» (в блоке действий) делает всё само: отправляет «Нажми на ➡️ Яблоко» с перемешанной сеткой эмодзи, проверяет нажатие, показывает новую сетку при ошибке, считает попытки и применяет лимит времени
  • Групповые нюансы — это настройки действия, а не дополнительные блоки: мут на время проверки, удаление/мут при провале, очистка сообщения
  • Ветка успеха блока действий продолжает сценарий после прохождения (приветствие); ветка ошибки обрабатывает отклонённых

Что нужно для запуска

  • Для защиты группы: добавьте бота в группу админом с правом «Ограничение участников».
  • Опубликуйте сценарии и проверьте: /start в личке, затем вступление тестового аккаунта в группу.
  • Настройте действие под себя: число эмодзи, ширину сетки, попытки, лимит времени и действие при провале.

Подробности

Полезно знать

  • «Капча» — встроенный тип действия (как «Задержка» или «Установить переменную»). Разместите её в отдельном блоке действий; два пути блока задаются через create_link с conditionBranch: TRUE/без ветки = пройдена (успех), FALSE = не пройдена (ошибка). Не собирайте капчу из SET_VARIABLE/CONDITION/динамических кнопок.
  • Всё поведение — конфиг действия: optionsCount (4-9 эмодзи), buttonsPerRow (ширина сетки, по умолчанию 3), maxAttempts, timeoutSeconds (автопровал без ответа), failAction NONE/KICK/MUTE, muteWhileVerifying, deleteOnFinish и необязательный promptText.
  • В группах задание всегда эфемерное: оно публикуется в группе, но видит его только проверяемый участник — чат остаётся чистым. Это не настраивается. Повторные попытки отправляются новым сообщением вместо редактирования, а deleteOnFinish там не работает: у эфемерного сообщения нет id. Доставка не гарантирована (старый клиент или участник не в сети), поэтому таймаут без единого нажатия понижает failAction KICK до MUTE и живой человек не вылетает из группы.
  • Текст задания и названия эмодзи локализуются автоматически (русский/английский) по языку Telegram пользователя.
  • Для защиты группы бот должен быть админом с правом «Ограничение участников».
  • Ограничение группового варианта: контакт сценария — сама группа, поэтому одновременно может идти только одна капча на группу. Нажатия чужих участников действие игнорирует само. Для активных групп лучше капча в личке.

Частые вопросы

  • Капча нужна в личке после /start, при вступлении в группу или и там, и там?
  • Сколько попыток даётся до провала?
  • Что делать при провале: удалить из группы, замутить или просто пойти по ветке ошибки?

Что важно помнить

  • Не собирайте капчу из SET_VARIABLE/CONDITION/динамических кнопок — действие «Капча» само ведёт весь цикл «задание → проверка → повтор».
  • Не добавляйте отдельные блоки ограничения/снятия ограничений вокруг капчи — muteWhileVerifying и failAction уже это делают.
  • Не обещайте, что защита группы работает без прав администратора.

Сценарий этого бота

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

Превью только для чтения · 2 сценарияОткрыть превью на весь экран ↗

Готовы собрать на этой основе?

Скопируйте шаблон в своё пространство и меняйте любое сообщение, кнопку и действие — ничего не заблокировано.