|
2 months ago | |
---|---|---|
.devcontainer | 6 months ago | |
.github/workflows | 6 months ago | |
src | 2 months ago | |
.gitignore | 6 months ago | |
LICENSE | 6 months ago | |
README.md | 3 months ago | |
package-lock.json | 3 months ago | |
package.json | 2 months ago | |
sample.config.yaml | 5 months ago | |
tsconfig.json | 6 months ago | |
tslint.json | 5 months ago |
This is a Matrix <-> VK bridge based on mx-puppet-bridge and VK-IO.
Это мост между Matrix и Вконтакте, основанный на mx-puppet-bridge и VK-IO.
It is in early development. Right now it logs message data when log level includes "info" level.
Relay mode works too, but we don't recommend it.
git pull https://github.com/innereq/mx-puppet-vk
npm install
npm run build
Next copy the sample.config.yaml
to config.yaml
, edit it and then run npm run start -- -r
to generate a registration file.
Register that one with synapse and start the bridge with npm run start
.
Video demonstration by Coma Grayce
@_vk_puppet_bot:your.domain
and type link <vk token>
Plese note: when community is invited to the group chat as a bot, make sure it has message access. Only chat admins can change bot permissions.
Bridge doesn't handle being kicked from chat yet.
For presence bridging from Matrix side (including typing) your Synapse server has to be on 1.22.0 or later.
Also, make sure your registration file contains this:
de.sorunome.msc2409.push_ephemeral: true
This is experimental and is not the main goal of this bridge.
CLIENT_ID
- it is ID of registered application, that allowed to access your messages. You can register your own application (and require access for Messages API from VK owners), or reuse ID of already registered application.
You can select some of popular applications for reuse the CLIENT_ID
via VKhost service.Example of URL to generate access_token
:
https://oauth.vk.com/authorize?client_id=<CLIENT_ID>&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=friends,messages,offline,docs,photos,video&response_type=token&v=5.126
You must review grant access list and allow access for selected CLIENT_ID
. After pressing "Allow" you browser will be redirected to other URL.
access_token
string from redirected URL via looking the &access_token=
GET parameter, here is example of url:https://oauth.vk.com/blank.html#access_token=df89482ba9a19e5a2dee85031612b021a08cd521115e1c7d2cd70710a50783105cfeae7386ab4f1003b54&expires_in=0&user_id=12345&email=vasya@example.com
where the access token is df89482ba9a19e5a2dee85031612b021a08cd521115e1c7d2cd70710a50783105cfeae7386ab4f1003b54
(don't use it, it is only example).
@_vk_puppet_bot:your.domain
user and type link <access_token>
command.To avoid imposture, do not use relay mode with user tokens!
Это мост между Matrix и Вконтакте, основанный на mx-puppet-bridge и VK-IO.
Находится в ранней разработке. Содержание сообщений выводится в логи, если уровень логов включает в себя уровень "info".
Режим релея работает, но мы его не рекомендуем.
git pull https://github.com/innereq/mx-puppet-vk
npm install
npm run build
Затем скопируйте sample.config.yaml
в config.yaml
, отредактируйте его, и затем запустите npm run start -- -r
чтобы сгенерировать регистрационный файл.
Зарегистрируйте его на вашем сервере Synapse и запустите мост коммандой npm run start
.
Видео демонстрация от Coma Grayce
@_vk_puppet_bot:ваш.домен
и напишите link <токен вк>
Обратите внимание: когда сообщество приглашено в групповой чат как бот, убедитесь что у бота есть права на чтение сообщений. Только администраторы чата могут менять права ботов.
Смотрите документацию mx-puppet-bridge (на английском)
Для пересылки эфемерных событий со стороны Matrix (включая индикаторы печати), ваш сервер Synapse должен быть версии 1.22.0 или выше.
Также, ваш файл регистрации должен включать в себя эту строку:
de.sorunome.msc2409.push_ephemeral: true
Этот режим является экспериментальным и не является основной целью данного моста.
CLIENT_ID
- это идентификатор приложения, которому предоставлен доступ к сообщениям пользователя. Вы можете зарегистрировать своё личное приложение (и запросить доступ к Messages API от админов ВК), или переиспользовать ID от уже зарегистрированного приложения.
Вы можете выбрать одно из популярных приложений для переиспользования CLIENT_ID
через сервис VKhost.Пример URL для генерации access_token
:
https://oauth.vk.com/authorize?client_id=<CLIENT_ID>&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=friends,messages,offline,docs,photos,video&response_type=token&v=5.126
Вы должны перепроверить список доступа дя выбранного CLIENT_ID
и разрешиь доступ. После нажатия кнопки "Разрешить" ваш браузер переадресует вас на другой URL.
access_token
с переадресованного URL через просмотр GET-параметра &access_token=
, вот пример URL:https://oauth.vk.com/blank.html#access_token=df89482ba9a19e5a2dee85031612b021a08cd521115e1c7d2cd70710a50783105cfeae7386ab4f1003b54&expires_in=0&user_id=12345&email=vasya@example.com
в котором access_token это df89482ba9a19e5a2dee85031612b021a08cd521115e1c7d2cd70710a50783105cfeae7386ab4f1003b54
(не используйте данный токен, это только пример).
@_vk_puppet_bot:your.domain
и отправьте команду link <access_token>
, заменив "<access_token>" на сгенерированный токен доступа.Чтобы избежать самозванства, не используйте режим релея с токенами пользователя!