Photo credit: Matrix Club
Matrix Application Services Wechaty Bridge for Wechat Individual Accounts
Pidgin try to IM all your friends in one place in Linux, and with Matrix you can have your Phone clinet with your private server which is highly customized. Matrix did not use XMPP protocol, it's server uses REST so that it could be more easy to extend.
This week I had a great talk with YC partner Eric @ericmigi, who is a serial entrepreneur and also a geek with technology. He uses Matrix a lot and almost integrated all the instance messanger to his Matrix.
But, the matrix does not support Wechat yet. So we'd like to introduce a matrix-wechat bridge to implement the Wechat protocol, and fill the gap between Matrix and Wechat.
@ericmigi provide some links that will help us to kick off a starter, hope we could make a workable POC soon, and any contribution will be welcome.
— April 2019
@tulir has very rich experiences with building the matrix bridges such as:
— May 2019
HOW TO USE MATRIX
I'd like to recommend using Riot for using Matrix. Riot is a universal secure chat app entirely under your control. It supports all types of the platforms, including Web/Browser, Android, and iPhone.
matrix-appservcie-wechaty is a very easy to use bridge for Matrix. It supports two installation methods:
sudo npm install -g matrix-appservice-wechaty
To be documented...
docker run \ --rm \ --name matrix-appservice-wechaty \ --mount type=bind,source="$(pwd)",target=/data \ wechaty/matrix-appservice
This part is "steal" from https://github.com/tulir/mautrix-whatsapp/wiki/Authentication
- Start a chat with the bridge bot. The bot should say "This room has been registered as your bridge management/status room." if you started the chat correctly.
- Log in by scanning the QR code. If the code expires before you scan it, the bridge will send an error to notify you.
- Open Wechat on your phone.
- Tap Menu or Settings and select Scan.
- Point your phone at the image sent by the bot to capture the code.
- Finally, the bot should inform you of a successful login and the bridge should start creating portal rooms for all your Wechat groups and private chats.
Simply run the
logout management command.
- Matrix Application Services
- Bridging infrastructure for Application Services - HOWTO
- Matrix Application Service Bridge Node.js SDK
- Matrix Application Service API
- Matrix Client-Server API
- Matrix Specification
Matrix AppService Bridges in TypeScript
- Matrix<->Skype user-puppeting portal
- Communication Matrix with Skype via puppet
- Matrix AppService Bridge Gitter
- Node.js Telegram bridge for Matrix
- Slack-compatible webhooks for matrix
- A matrix SMS bridge, powered by Twilio
- Node.js IRC bridge for Matrix
v0.4 (Alpha) July 14, 2019
- Support receive/send Wechat message in Matrix. (individuals and rooms)
- Tested with Web API(wechaty-puppet-puppeteer) and Pad API(wechaty-puppet-padpro)
- The names/avatars of Wechat users/groups are not set right on Matrix.
- Only support text message, Image/Audio/Video message is not supported yet. (Will be supported in the future version)
- Appservice will create more than one matrix room for a Wechat room when receiving messages from it for the very first time. (It will stop creating new rooms after you accepted the invitation)
- Login QR Code should not use the 3rd party API for security considerations. Upload the QR Code image to matrix server instead.
v0.2 July 6, 2019
- Enable your matrix account to start using
matrix-appservice-wechatyby talk to the bot
- After you talk to
@wechaty, it will send you Wechat Login QR Code. Scan it to login Wechat
- All Wechat messages will be bridged to the Matrix system, in the room that you talk to the bot at the very first time.
v0.0.1 May 2019
- Auto response the message in a Matrix Room.
Copied from disclaimer part from matrix-appservice-discord:
I accept no responsibility if Tencent ban your IP, Account or even your details on their system. They have never given official support on custom clients.
COPYRIGHT & LICENSE
- Code & Docs © 2019 - now Huan LI firstname.lastname@example.org
- Code released under the Apache-2.0 License
- Docs released under Creative Commons