Шаблон

ИИ-помощник для группы — отвечает, когда его зовут по имени

ИИ-помощник для вашей группы в Telegram. Молчит, пока его не позовут по имени, не упомянут через @ или не ответят на его сообщение, и тогда отвечает на языке автора. По желанию удаляет сообщения с запрещёнными словами.

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

  1. АннаКто-нибудь знает, что значит «serendipity»?
  2. МаркБез понятия, я тоже не знаю
  3. АннаJarvis, что значит это слово?
  4. Помощник группы«Serendipity» — счастливая случайность: когда находишь что-то хорошее без поиска. Пример: «Мы познакомились по счастливой случайности».
Кто-то зовёт помощника по имени в группе

Как выглядит диалог

  1. Марк(сообщение с запрещённым словом)
  2. Помощник группы⚠️ Марк, давайте общаться дружелюбно. Это сообщение нарушает правила группы.
По желанию: запрещённое слово удаляется, автор предупреждён

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

  • Владелец добавляет бота в группу (в @BotFather выключен режим приватности, чтобы бот видел сообщения, где есть только его имя)
  • Если заданы запрещённые слова, каждое сообщение сначала проверяется на них; сообщение с таким словом удаляется, а автор получает короткое предупреждение
  • Сообщение, где бота упомянули через @, ответили на его сообщение или написали имя ассистента, уходит ИИ-ассистенту
  • Ассистент отвечает на это сообщение на его языке и учитывает недавнюю переписку группы
  • Остальные сообщения тихо пропускаются: ни ответа, ни расхода ИИ-кредитов

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

  • В @BotFather отправьте /setprivacy, выберите этого бота и нажмите Disable. Без этого бот видит только упоминания через @, ответы на свои сообщения и команды, а обращения по имени до него не дойдут.
  • Добавьте бота в группу. Если он уже был в группе, удалите его и добавьте снова (или сделайте админом): Telegram применяет настройку приватности только в момент вступления бота.
  • Нажмите «Опубликовать изменения», затем напишите в группе сообщение с именем ассистента, например «Кеша, что ты умеешь?», и проверьте, что он ответил.
  • Если ассистента зовут и по-другому (коротким именем или в другом падеже), впишите эту форму в переменную assistantNickname.
  • Для модерации замените off в переменной bannedWords на свои слова через запятую и сделайте бота админом группы с правом «Удалять сообщения». Если модерация не нужна, оставьте off.
  • Каждый ответ расходует ИИ-кредиты, обычная переписка в группе — нет. Следите за балансом в Настройки → Оплата, когда группа начнёт пользоваться ботом.

Подробности

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

  • Почему так устроено: групповые боты, которые заменяет этот шаблон, запускали один-два ИИ-шага («это спам?», «надо ли отвечать?») на КАЖДОЕ сообщение группы, поэтому в активной группе кредиты быстро заканчивались, и дальше ассистент не отвечал. Здесь все проверки перед ассистентом бесплатные: список слов, отметки Telegram об упоминании и ответе, поиск имени в тексте. ИИ запускается только для сообщения, где к нему обратились.
  • Все сообщения группы обрабатывает один сценарий. Для каждого сообщения запускается только ПЕРВЫЙ сценарий, чей триггер подошёл, поэтому модерация и ассистент должны быть в одном сценарии: из двух сценариев «на любое сообщение группы» один просто никогда не сработает.
  • Триггер слушает все сообщения группы и считает контактом саму группу, поэтому ИИ видит недавнюю переписку всей группы. Триггер «только обращения к боту» не подходит: сообщение, где есть только имя, он не пропускает.
  • К ассистенту обратились, если бота упомянули через @, ответили на его сообщение или в тексте есть assistantName или assistantNickname. Имя ищется без учёта регистра и в любом месте текста, даже внутри длинных слов, поэтому выбирайте имя, которое не входит в обычные слова («Макс» найдётся и в «максимум»). Русские имена склоняются («Кеша», «Кеше», «Кешу»): впишите самую частую форму в assistantName, а вторую форму или короткое имя — в assistantNickname. Перед каждой проверкой имени стоит проверка, что имя не пустое: «содержит пустое значение» верно для любого текста, и тогда ИИ получал бы каждое сообщение.
  • Ассистент — блок ИИ-ассистента в режиме «только чат» с доставкой «ответом» (ответ приходит как reply на сообщение, где его позвали) и maxTurns 1. maxTurns 1 обязателен: иначе после ответа разговор остаётся за ассистентом, и следующие сообщения этого участника идут прямо в ИИ, минуя все проверки.
  • Контекст: ассистент получает последние сообщения группы (до 40 строк, сколько поместится в модель) с именами авторов — в том числе те, где к нему не обращались. Поэтому вопрос «Кеша, а ты что думаешь?» посреди разговора работает. В историю попадает только текст; фото ассистент читает, только если оно пришло в сообщении с обращением.
  • Характер ассистента и тема группы хранятся в assistantPersona. Отвечать на языке сообщения ассистента просит сама инструкция, поэтому в многоязычной группе ничего настраивать не нужно.
  • Модерация — список слов в переменной bannedWords (через запятую или с новой строки). Значение off (по умолчанию) или пустое значение выключает её, и проверка вообще не запускается. Если список задан, небольшой шаг с кодом проверяет каждое сообщение (без ИИ и без кредитов): слово из списка срабатывает, если с него начинается слово сообщения («спам» найдёт «спамер», а «кал» не тронет «скалу»), фраза ищется целиком. Найденное сообщение удаляется через Telegram Bot API (бот должен быть админом группы с правом «Удалять сообщения»), автор получает короткое предупреждение, а ИИ для такого сообщения не вызывается. Добавляйте каждую форму, которую нужно ловить.
  • Это лёгкая модерация. Для ИИ-проверки каждого сообщения с мутом и баном есть шаблон модерации группы — но он тратит кредиты на каждое сообщение.
  • Каждый ответ ассистента расходует ИИ-кредиты рабочего пространства. Сообщения, где к нему не обращались, и проверка модерации ничего не стоят.

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

  • Как участники будут звать ассистента?
  • О чём группа и какая помощь нужна от ассистента?
  • Нужно ли удалять сообщения с определёнными словами? С какими?
  • Отвечать ли ему и в личных сообщениях или только в группе?

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

  • Не ставьте ИИ-шаг перед проверкой «к ассистенту обратились?» (ИИ-проверку на спам или ИИ-решение «отвечать ли»). Он срабатывает на каждое сообщение группы и сжигает ИИ-кредиты — именно из-за этого ломались групповые боты, которые заменяет этот шаблон.
  • Не используйте для обращений по имени триггер «только обращения к боту»: Telegram отмечает только упоминания через @, ответы и команды, и сообщение с одним именем не придёт.
  • Не разносите модерацию и ассистента по двум сценариям «на любое сообщение группы»: для сообщения срабатывает только первый подходящий сценарий, второй не запустится никогда.
  • Не убирайте maxTurns 1 у блока ассистента: иначе участник, который один раз позвал ассистента, будет получать ИИ-ответ на каждое следующее сообщение.
  • Не убирайте правило «имя не пустое» перед поиском имени: с пустым именем условие «содержит» верно для любого сообщения.
  • Не отправляйте предупреждение ответом на удалённое сообщение: его уже нет, и ответ не доставится.
  • Не обещайте, что бот видит все сообщения, пока в @BotFather не выключен режим приватности и бот не добавлен в группу заново.

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

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

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

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

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