@chatutilsbot: Автоответчик

@chatutilsbot: Автоответчик

Denis Olshin

@chatutilsbot можно привязать к своему аккаунту Telegram, чтобы он (в выбранных вами условиях) отвечал от вашего имени другим людям в личных диалогах. Кроме того, можно настроить пересылку сообщений, отправляемых вам, в отдельную группу: так от имени вашего аккаунта смогут отвечать несколько человек (состоящих в этой группе).

Чтобы настроить автоответчик, зайдите в настройки Telegram, найдите раздел Telegram для бизнеса, а в нём — подраздел Чат-боты. Введите chatutilsbot в строку поиска и нажмите «Добавить». После этого укажите, какие чаты он должен будет обрабатывать.

Затем вернитесь в диалог с самим ботом. У вас должно открыться меню настройки автоответчика. Чтобы открыть его в дальнейшем, используйте команду /answer

Привязанная группа

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

Перед привязкой группы, убедитесь, что, во-первых, включили в ней темы («режим форума»), а во-вторых добавили @chatutilsbot в качестве администратора (с правом управлять темами).

Внутри темы, соответствующей диалогу, доступны команды /mute и /pause:

  • /mute выключает пересылку сообщений из темы в диалог; также в диалог никогда не пересылаются сообщения, начинающиеся со слэша (символа «/»); можно например использовать // для кратких ремарок, которые не будут видны собеседнику. Повторный вызов /mute снова включает отправку сообщений собеседнику
  • /pause ставит или снимает с паузы автоответчик (об состоянии паузы см. ниже)

Ответы по шаблонам

Самый простой (и не требующий подписки) способ работы автоответчика — шаблоны. Бот будет проверять, содержит ли входящее сообщение заданную ключевую фразу, и в случае совпадения отвечать указанным образом.

Кроме просто проверки на вхождение подстроки можно использовать регулярные выражения. Это позволяет описывать более сложные правила.

Ответы с помощью GPT-4

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

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

Ты выполняешь роль бота-автоответчика в мессенджере. Ты должен отвечать от имени твоего владельца - так, как будто это говорит именно он. Твой владелец - Денис Ольшин, программист из Санкт-Петербурга, ему 35 лет. Тебе пишет человек по имени {name}. Если очередная реплика не подразумевает ответа или если тебе зададут вопрос, ответ на который ты не знаешь, то отправь вместо ответа "{noreply}" (без кавычек).
  • опишите, от чьего имени должна отвечать нейросеть;
  • чтобы GPT знал, с кем он общается, подставьте {name} в свой промпт; в момент обработки входящих сообщений в этом месте будет имя собеседника;
  • можно добавить рекомендацию в каких-то случаях давать ответ {noreply} — тогда собеседнику ничего не будет отправлено, а вы получите уведомление, что требуется ваше участие.

Учтите, что содержимое системного промпта передаётся при обработке каждого очередного сообщения, и оно тоже учитывается при подсчёте токенов. Например, приведённый выше пример содержит 182 токена.

Чтобы избежать слишком больших расходов токенов, установите лимиты:

  • когда будет достигнут лимит на число токенов в диалоге с пользователем, бот перестанет обрабатывать сообщения от него с помощью GPT (и уведомит вас, что требуется ваше участие);
  • также полезно ограничить размер контекста — поскольку для осмысленного ответа GPT может потребоваться не только непосредственно последнее сообщение, то ему передаётся несколько последних сообщений; чтобы тратить меньше токенов, уменьшите размер этого «окна».

Кроме того, для снижения расхода токенов имеет смысл выставить задержку перед ответами.

Задержка перед ответами

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

Если вы ответите сами до истечения задержки перед ответом, то автоответчик не будет использован. Если собеседник успеет написать больше одного сообщения во время задержки, то автоответчик среагирует только один раз (при этом он сможет ответить на каждое из них одним сообщением — если они поместятся в установленный лимит контекста).

Задержка всегда отсчитывается от последнего полученного сообщения.

Время работы автоответчика

Вы можете установить, в какие периоды автоответчик должен обрабатывать сообщения. По умолчанию автоответчик включен постоянно (но его также можно вручную ставить на паузу глобально или в отдельных диалогах — см. ниже)

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

Кроме того, можно просто указать, с какого и по какой час (по Московскому времени) должен работать автоответчик.

Автопауза

Срабатывание автоответчика в конкретном диалоге зависит от нескольких факторов. Для этого проверяются следующие условия (если хотя бы одно не выполняется, автоответчик не сработает):

  • бот должен быть привязан к вашему аккаунту в настройках Telegram;
  • в том же разделе настроек Telegram конкретный диалог должен попадать в фильтр диалогов, к которым будет иметь доступ бот;
  • в том же разделе настроек Telegram должна стоять галочка «ответы на сообщения» (в противном случае бот сможет пересылать сообщения в привязанную группу, но автоответчик не будет срабатывать);
  • в диалоге с пользователем вы не нажали кнопку «стоп» (это останавливает бот только в конкретном диалоге);
  • если установлено время работы автоответчика, то текущее время должно попадать в этот диапазон;
  • бот не встал на автоматическую паузу (это настраивается в разделе «Автопауза»);
  • чтобы работали шаблоны, они должны быть добавлены и включены; чтобы работал GPT, он должен быть включён, а лимиты токенов не исчерпаны (в том числе ваш месячный запас).

Автопауза может срабатывать в установленных в разделе «Автопауза» случаях — например, если вы вмешались в диалог, или если GPT не удалось дать ответ (если эта опция включена, то он перестанет давать ответы и на следующие сообщения тоже, пока диалог не будет снят с паузы). С паузы бот тоже может сниматься автоматически: например, если собеседник напишет спустя долгий период неактивности.

Чтобы вручную управлять автопаузой, используйте либо команду /pause в привязанной группе (см. выше), либо в меню конкретного диалога нажмите «Управление ботом».


Report Page