Обзор ботов
Боты позволяют:
- Отправлять контент в Zulip и из Zulip.
- Отправлять контент в другой продукт и получать контент из него.
- Автоматизировать задачи, которые обычно делает человек.
Бот, который отправляет данные в другой продукт или получает данные из него,
часто называют интеграцией.
Готовые боты
Zulip «из коробки» поддерживает интеграции более чем со 100 продуктами, а еще
почти с тысячей через Zapier и IFTTT. Если вы хотите добавить интеграцию с уже
существующим продуктом, см. список интеграций, а также каталоги
Zapier и IFTTT.
Из чего состоит бот
Можно считать бота специальным видом пользователя с ограниченными правами.
У каждого бота есть имя, аватар, Email, тип бота и API ключ.
- Имя и аватар играют ту же роль, что и у обычных пользователей. Это
самые заметные атрибуты бота.
- Почта ни для чего не используется и, вероятно, будет удален в будущей
версии Zulip.
- Тип бота определяет, что бот может и не может делать (см. ниже).
- API ключ это то, как бот идентифицирует себя перед Zulip. Любой, у кого
есть API ключ бота, может выдавать себя за бота.
Тип бота
Тип бота определяет, что бот может делать.
| Тип бота |
Права |
Типичные сценарии |
| Обычный |
Как обычный пользователь |
Автоматизация задач; боты, которые слушают все сообщения в канале |
| Входящий вебхук |
Может только отправлять сообщения в Zulip |
Автоматические уведомления в Zulip |
| Исходящий вебхук |
Обычный бот, который также получает новые сообщения через HTTP POST |
Интеграции со сторонними продуктами; большинство кастомных ботов |
Обычный бот ведет себя как обычный пользователь Zulip, но может работать
только через API. Есть несколько действий, которые боты не могут выполнять,
включая создание других ботов.
Бот исходящего вебхука может читать личные сообщения, где он участник, и
сообщения в каналах, где он упомянут. Когда
боту отправляют ЛС или его упоминают, он отправляет содержимое сообщения POST
запросом на выбранный вами URL. Формат POST запроса может быть «zulip format»
или «Slack-compatible». Это предпочтительный тип для интерактивных ботов,
построенных поверх Zulip Botserver.
Используйте самый ограниченный тип бота, который подходит для вашей интеграции.
Любой, у кого есть API ключ бота, может делать все, что может бот, поэтому
лишние права повышают риски для вашей организации.
Права каналов для ботов
Ботов можно подписывать на каналы и назначать им права каналов
точно так же, как обычным пользователям. В приватных каналах с защищенной
историей бот может видеть только сообщения, отправленные после того, как его
подписали на канал.
Боты могут отправлять сообщения в любой канал, в который может отправлять их
владелец, наследуя права на отправку сообщений
владельца. Боту можно выдать права управления каналом так же, как человеку.
Добавление ботов
По умолчанию любой пользователь, кроме гостя, может добавить бота
в организацию Zulip, но администраторы могут ограничить создание ботов.
Любой добавленный бот виден всем и доступен для использования.
Интеграции, действующие от имени пользователей
Если вы хотите, чтобы интеграция «имитировала» вас (например, писала сообщения
от вашего аккаунта Zulip), используйте ваш персональный API ключ,
а не API ключ бота. Создавать бота не потребуется.
Если вам нужен бот, который отправляет сообщения от имени нескольких
пользователей, попросите поддержку Zulip или
администратора сервера выполнить команду manage.py change_user_role can_forge_sender,
чтобы выдать боту право отправлять сообщения от имени пользователей в вашей
организации. Боты с правом can_forge_sender также видят названия всех каналов,
включая приватные. Это важно для интеграций вроде зеркалирования Jabber и IRC.
Похожие статьи