54 lines
2.3 KiB
Markdown
54 lines
2.3 KiB
Markdown
---
|
||
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`, не отправлять ответ.
|
||
|
||
## Надёжность
|
||
|
||
- При `failed=1` обновляй `ts`.
|
||
- При `failed=2|3` запрашивай новый `server/key/ts` через `groups.getLongPollServer`.
|
||
- Игнорируй пустые/служебные сообщения.
|
||
- Не отвечай на исходящие (`out=1`).
|