Навык запускает подписку на события Lark и Feishu через lark-cli, передавая каждое событие в stdout в формате NDJSON. Подходит для обработки сообщений в реальном времени и других событий — например, изменений чатов, статусов Approval, обновлений задач и встреч.
Возможности
- Показывает доступные
EventKeyи схемы событий с помощьюevent listиevent schema. - Запускает блокирующее потребление событий;
--max-eventsи--timeoutограничивают время или количество событий. - Фильтрует и преобразует события через
--jq, а--paramзадаёт бизнес-параметры подписки. - Выводит маркер готовности в stderr, чтобы родительский процесс знал, когда начинать читать stdout.
- Поддерживает отдельный процесс для каждого
EventKey; процессы используют общий локальный bus daemon.
Когда использовать
- Нужно обрабатывать сообщения Lark или Feishu сразу после их получения.
- Нужно отслеживать изменения чатов, статусы Approval, задачи, встречи, Minutes или Whiteboard.
- Нужно запустить ограниченное потребление для проверки схемы события или получить образец payload.
- Нужно подключить долгоживущий subprocess и синхронизировать чтение событий по маркеру готовности.
Примеры
Получить список событий домена VC:
lark-cli event list --domain vc --json
Получить один пример события, ограничив ожидание 30 секундами:
lark-cli event consume im.message.receive_v1 --max-events 1 --timeout 30s --as bot
Запустить потребителей двух событий в отдельных процессах:
lark-cli event consume im.message.receive_v1 --as bot > receive.ndjson &
lark-cli event consume im.message.reaction.created_v1 --as bot > reaction.ndjson &
wait