.devcontainer | ||
.github/workflows | ||
src | ||
.gitignore | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
sample.config.yaml | ||
tsconfig.json | ||
tslint.json |
mx-puppet-vk
This is a Matrix <-> VK bridge based on mx-puppet-bridge and 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.
Installation
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
.
Features and roadmap
- Matrix -> VK
- Text content
- Image content
- Audio/Video content
- Other files
- Replies
- Typing notifs - not possible yet
- Presence - not possible yet
- Read notifications - not possible yet
- Message edits
- Message redacts - works as edit, real redact unavailable without being admin in chat
- VK -> Matrix
- Text content
- Forwards
- Image content
- Audio content
- Video content
- Stickers
- Other files
- Presence - not effective to track
- Typing notifs
- User profiles
- Read notifications - not effective to track
- Message edits
- Message redacts - doesn't work
Usage
- Get VK community token (Just open the "Manage community" tab, go to "API usage" tab and click "Create token")
- Activate Bots Long Poll API ("Manage community" → "API usage" → "Bots Long Poll API") and choose the latest API version. Make sure that under event types all message-realted events are turned on.
- Activate an option to message your community. To allow group chats, activate it under bot capabilities.
- On matrix, contact
@_vk_puppet_bot:your.domain
and typelink <vk token>
- Now, if someone contacts your community, you will be invited to the corresponding room on Matrix.
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.