Доступы к чатам и сообщениям
Бот взаимодействует с пространством как участник с ролью «Сотрудник»: видит открытые каналы, а в остальные чаты и треды попадает, когда его туда добавляют.
| Где | Как бот туда попадает | Что видит бот |
|---|---|---|
| Открытые каналы | Видит без добавления | Сообщения и треды — через API |
| Беседы и каналы | Бота добавляют участником | Сообщения чата и все его треды |
| Тред | Бота зовут по нику в треде или добавляют участником треда | Тред и его родительское сообщение |
| Личные сообщения | Сотрудник пишет боту или бот пишет первым | Переписку с сотрудником |
События бот получает только из чатов и тредов, где состоит. Из открытого канала они тоже приходят, только если бота туда добавили. Какие события откуда приходят — в разделе Настройка и типы событий.
Беседы и каналы
Чтобы бот видел закрытый канал или беседу и получал события из чата, его добавляют участником. После добавления бот видит и все треды этого чата.
Добавить бота в чат можно двумя способами:
- Через интерфейс — в окне Добавление участников (в канале — Добавление подписчиков) на вкладке Боты.
- Через API — методом POSTДобавление участников с
idбота вmember_ids.
Кому можно добавлять бота, решает настройка Кто может добавлять бота в чаты. Если вам нельзя, бота нет в окне добавления, а метод отвечает 403 с кодом bot_add_denied и не добавляет никого из запроса. Так же целиком отклоняется запрос с ботом, у которого включено Ограничить одним чатом и который уже состоит в беседе или канале.
Треды
Бота можно добавить в тред, не добавляя в родительский чат. Это сквозной тред: бот видит тред и его родительское сообщение, но не историю чата.
- Упоминанием
@никабота в сообщении треда. Бот попадает в тред, если автору сообщения можно добавлять этого бота по настройке Кто может добавлять бота в чаты. Так зовут в обсуждение агента. Упоминание в беседе или канале, а не в треде, бота в чат не добавляет. - Через API — методом POSTДобавление участников с
chat_idтреда.
Личные сообщения
Написать боту в личные сообщения сотрудник может в трёх случаях:
- Бот публичный — сотрудник находит его в поиске или на вкладке Обзор в витрине и нажимает Сообщение.
- Есть общий чат — сотрудник и бот состоят в одной беседе или канале, и этот чат не в архиве.
- Бот написал первым — методом POSTНовое сообщение с
entity_type: "user". После этого сотрудник может отвечать, даже если бот не публичный.
Публикация в витрине сама по себе написать боту не позволяет: у опубликованного, но непубличного бота кнопки Сообщение нет, если с ним нет общего чата.
Бота нельзя добавить в существующие личные сообщения между двумя участниками пространства.
Как начинается разговор в личных сообщениях и почему первым пишет сотрудник — в разделе Общение с ботом.
Поиск бота
Поиск бота работает в трёх местах интерфейса Пачки, и логика выдачи в каждом своя.
Упоминание @ при написании сообщения
Одинаково для всех ролей, включая гостей и мульти-гостей:
- Публичные боты — везде в пространстве, даже если у сотрудника нет с ними общих чатов.
- Непубличные боты-участники текущего чата — дополнительно, когда
@набирается внутри этого чата.
Непубличные боты, не состоящие в текущем чате, в подсказках упоминаний не появляются.
Глобальный поиск пространства
Поиск из общей строки поиска и при создании личных сообщений ведёт себя по-разному в зависимости от роли:
- Сотрудники и администраторы — видят и сотрудников, и публичных ботов в пространстве.
- Гости и мульти-гости — видят только тех, с кем у них уже есть личные сообщения, а по запросу от трёх символов — ещё и участников общих чатов.
Непубличных ботов глобальный поиск не показывает никому, даже если бот уже писал сотруднику: такому боту отвечают в уже открытой переписке.
Список добавления участников в чат
Зависит от настройки Кто может добавлять бота в чаты каждого бота и роли того, кто добавляет:
- Создатель бота — всегда видит ботов, которых он создал.
- Администраторы — видят публичных ботов и ботов с настройками «Все участники (кроме гостей)» и «Создатель и Администраторы».
- Сотрудники — видят публичных ботов и ботов с настройкой «Все участники (кроме гостей)».
- Гости и мульти-гости — в выдаче пусто.
Бот с настройкой Ограничить одним чатом, который уже состоит в беседе или канале, в списке не показывается никому, в том числе создателю, пока этот чат не в архиве.