Files
openclaw/skills/vk-bridge/SKILL.md

60 lines
2.8 KiB
Markdown
Raw Normal View History

---
name: vk-bridge
description: "Интеграция ВКонтакте (сообщество) через Bots Long Poll API: слушать message_new, извлекать текст/метаданные, проксировать запрос в локальный AI-обработчик и отправлять ответ в VK через messages.send. Использовать, когда нужно подключить входящие сообщения VK к ассистенту и отвечать пользователям автоматически."
---
# VK Bridge
Подключай сообщество VK к локальному обработчику ответов через Long Poll.
## Что входит
- `scripts/vk-longpoll-bridge.mjs` — раннер Long Poll + отправка ответов.
- `references/.env.example` — пример конфигурации.
## Быстрый запуск
1. Скопируй конфиг:
- `cp skills/vk-bridge/references/.env.example .env.vk`
2. Заполни токен сообщества и URL обработчика.
3. Запусти:
- `node skills/vk-bridge/scripts/vk-longpoll-bridge.mjs --env .env.vk`
## Требования
- Токен сообщества VK с правами `messages`.
- Включённые сообщения сообщества в настройках группы.
- Long Poll API включён для сообщества.
- Локальный HTTP-обработчик, который принимает входящее сообщение и возвращает текст ответа.
## Протокол AI-обработчика
Bridge делает POST на `OPENCLAW_BRIDGE_URL` с JSON:
- `source`: `vk`
- `group_id`
- `user_id`
- `peer_id`
- `text`
- `payload`
- `attachments`
- `raw`
Ожидает JSON-ответ:
- `reply` (string) — текст для отправки в VK.
- `silent` (boolean, optional) — если `true`, не отправлять ответ.
## Дополнительные настройки
- `VK_ALLOWED_EVENTS` — список типов событий через запятую (по умолчанию `message_new`).
- `VK_SYNC_LONGPOLL_SETTINGS=1` — при старте проверяй `groups.getLongPollSettings` и включай нужные события через `groups.setLongPollSettings`.
- `VK_API_VERSION=5.199` — рекомендуемая версия (раннер предупреждает, если другая).
## Надёжность
- При `failed=1` обновляй `ts`.
- При `failed=2|3` запрашивай новый `server/key/ts` через `groups.getLongPollServer`.
- Игнорируй пустые/служебные сообщения и события вне списка `VK_ALLOWED_EVENTS`.
- Не отвечай на исходящие (`out=1`).