Для разработчиков

Доступы к чатам и сообщениям

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

Закрытые каналы и беседы

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

Добавить бота в чат можно двумя способами:

Треды

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

Добавить бота в тред можно двумя способами:

  • Через API — метод POSTДобавление участника в чат, передав chat_id треда.
  • Через упоминание @никнейм_бота в сообщении — доступно, когда бот настроен как публичный.

Личные сообщения

Пользователь может писать боту личные сообщения и взаимодействовать с ним 1 на 1 в двух случаях:

  • Бот настроен как публичный — любой участник пространства может начать диалог.
  • Бот сам ранее POSTотправил сообщение пользователю через API (с entity_type: "user") — после этого пользователь может отвечать, даже если бот не публичный.

При этом бота нельзя добавить в существующие личные сообщения между двумя участниками пространства.

Поиск бота

Поиск бота работает в трёх местах интерфейса Пачки, и логика выдачи в каждом своя.

Упоминание @ при написании сообщения

Одинаково для всех ролей, включая гостей и мульти-гостей:

  • Публичные боты — везде в пространстве, даже если у пользователя нет с ними общих чатов.
  • Непубличные боты-участники текущего чата — дополнительно, когда @ набирается внутри этого чата.

Непубличные боты, не состоящие в текущем чате, в подсказках упоминаний не появляются.

Глобальный поиск пространства

Поиск из общей строки поиска и при создании личных сообщений ведёт себя по-разному в зависимости от роли:

  • Сотрудники и администраторы — видят и обычных пользователей, и публичных ботов в пространстве.
  • Гости и мульти-гости — видят только тех, с кем уже есть личные сообщения. Бот появится в выдаче только если с ним уже была переписка — например, потому что бот сам ранее POSTотправил сообщение пользователю.

Список добавления участников в чат

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

  • Создатель бота — всегда видит ботов, которых он создал.
  • Администраторы — видят ботов с настройками «Все участники», «Публичный бот», «Создатель и Администраторы».
  • Сотрудники — видят ботов с настройками «Все участники» и «Публичный бот».
  • Гости и мульти-гости — в выдаче пусто.

Бот получает исходящие вебхуки только из тех чатов и тредов, в которых он состоит. Глобальные события (например, изменение участников пространства) приходят без добавления в чат.