Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Other bridges ? #28

Open
26 tasks done
42wim opened this issue Sep 4, 2016 · 147 comments
Open
26 tasks done

Other bridges ? #28

42wim opened this issue Sep 4, 2016 · 147 comments
Labels

Comments

@42wim
Copy link
Owner

42wim commented Sep 4, 2016

If anyone wants to contribute code to support for a new bridge, feel free to open an issue about this.
I'll be glad to help you where possible.

Bridges supported

Not supported anymore

  • Steam: Upstream library has no support for steam chat anymore. See here for more info.

3rd party via matterbridge API

  • Minecraft
  • Facebook Messenger
  • Reddit
  • Discourse
  • Counter-Strike, half-life and more

Not going to be implemented by me, but PR's welcome

Obsolete

@stp-ip
Copy link

stp-ip commented Sep 4, 2016

Currently supported: IRC, mattermost, gitter, xmpp
Next in line: slack
To be considered: whatsapp, fb messenger, mail

@stp-ip
Copy link

stp-ip commented Sep 4, 2016

Sidenote:
Awesome project and thanks for taking the time and publishing it openly.

@tobru
Copy link

tobru commented Sep 7, 2016

Support for Rocket.Chat would be great. See https://github.com/RocketChat/Rocket.Chat

@42wim
Copy link
Owner Author

42wim commented Sep 11, 2016

Thanks for the feedback.
I'm also trying to make the config more flexible to combine multiple bridges in a gateway, more or less like the example in issue #9

Any comments ?

[Bridge "mattermost1"]
protocol=mattermost
..mattermostoptions..

[Bridge "irc1"]
protocol=irc
..ircoptions..

[Bridge "irc2"]
protocol=irc
..ircoptions..

[Bridge "gitter1"]
protocol=gitter
..gitteroptions..

[Channel "test"]
mattermost="testing"
irc="#test"

[Channel "stuff"]
mattermost="general"
irc="#stuff"
gitter="42wim/stuff"

[Gateway "gateway1"]
bridge=mattermost1
bridge=irc1
channel=test
enable

[Gateway "test2"]
bridge=mattermost1
bridge=irc2
bridge=gitter1
channel=stuff
enable

@jleclanche
Copy link

Would like to suggest discord support :) reactiflux/discord-irc#100

@42wim
Copy link
Owner Author

42wim commented Sep 19, 2016

@jleclanche well, discord support has just been added in current master ;-)
Also decided to use your TOML configuration file because gcfg was not expressive enough.

@lagleki
Copy link

lagleki commented Oct 7, 2016

would like Telegram https://github.com/FruitieX/teleirc

@42wim
Copy link
Owner Author

42wim commented Oct 8, 2016

@lagleki unfortunately telegram needs a phone-number to join (and I'm not willing to give mine). On the other hand the bot API is implemented in Go, so it would be quite easy to add it.

If you're willing to be my test-user I can try to add it.

@thybag
Copy link

thybag commented Oct 11, 2016

Unsure how easy it'd be to add, but being able to bridge to hipchat would be a nice to have.

@jlsjonas
Copy link

@42wim I'll gladly offer myself for that (telegram), might even (if I find enough spare time) send a PR

@42wim
Copy link
Owner Author

42wim commented Nov 15, 2016

@jlsjonas thanks! Please let me know the results in #80

@scanline77
Copy link

Would be really nice to see mattermost to Skype group chat. Sameroom.io offers this as service so I imagine they are using Microsoft's API. This would be worth making a donation on its own.

@42wim
Copy link
Owner Author

42wim commented Dec 2, 2016

@tobru rocket.chat support got just added, feedback welcome :-)

@42wim
Copy link
Owner Author

42wim commented Dec 2, 2016

@PGladwin seems that there's a rest API for skype on https://docs.botframework.com/en-us/skype/chat/
That's good news, no .net SDK needed.

@ananace
Copy link

ananace commented Feb 14, 2017

Could a possible additional bridge to add be Matrix?

There are several already existing bridges and an Application Service API spec. (Though admittedly it's still marked as unstable)

@42wim
Copy link
Owner Author

42wim commented Feb 19, 2017

@Ace13 matrix support added in master :-)
For channel names you'll have to use the room internal ID (looks like !QJFqjsGJwmQzbuBfff:matrix.org)
You'll also need a dedicated bot user to avoid loops.

So for example

[matrix.test]
Server="https://yourhomeserver" (e.g. https://matrix.org)
Login="yourlogin"
Password="yourpass"
[[gateway]]
  enable=true
  [[gateway.inout]]
  account="matrix.test"
  channel="!QJFqjsGJwmQzbuBfff:matrix.org"

 [[gateway.inout]]
 ..your other bridges ..

@42wim
Copy link
Owner Author

42wim commented Feb 21, 2017

Got a question for Let's chat support (https://github.com/sdelements/lets-chat) but it seems quite dead to me. If you want this bridge added, please add the 👍 to this message.

@42wim 42wim added the question label Feb 21, 2017
@tomoeuehara
Copy link

Line. It already has an API support in Go language too! 😉
https://devdocs.line.me/en/?go#messaging-api

@42wim
Copy link
Owner Author

42wim commented Mar 26, 2017

@tomoeuehara looks interesting, but signup unfortunately only works with phonenumber.

I'm willing to accept PR's for this protocol, or if someone sends me a test login/password (DM @42wim on twitter) I can take a look myself.

@tomoeuehara
Copy link

@42wim DM sent :D

@dantrevino
Copy link

If you do something like this:
[Channel "stuff"]
mattermost="general"
irc="#stuff"
gitter="42wim/stuff"

How will you know where your reply is going? If someone pings me on irc #stuff i dont want my replies going to gitter.

@42wim
Copy link
Owner Author

42wim commented Apr 26, 2017

@dantrevino That example was an old proposal, like you say it has some issues.

An example of the current configuration can be found in the README: https://github.com/42wim/matterbridge/#examples or sample config
https://github.com/42wim/matterbridge/blob/master/matterbridge.toml.simple

@Tck13
Copy link

Tck13 commented May 9, 2017

Dear @42wim,

Your tube system looks exact what we need, only is the integration with skype something we would like to see.

It's on your list at the top, so can you give something of an status? Does it comes in an few days, weeks, months or was it only an idea and have you no plans to relize this idea?

@42wim
Copy link
Owner Author

42wim commented May 9, 2017

hi @Tck13

Thank you for your interest.

Skype doesn't have a go library, so I'll need to implement a lot myself (or wait until such a library pops up).
Which only could happen when I have a lot of free time, maybe july/august.

So sorry, but unless someone else implements it, it won't be available soon. (and I don't make any promises for july/august :-)

@nickolasclarke
Copy link

@42wim Wechat Enterprise 企业微信 would be excellent! Most of these services are blocked and/or unusable here in China for various reasons, but wechat Enterprise is severely lacking. I was hoping to write a bridge between our slack org and wechat so that our foreign teams can use slack and our chinese teams can use wechat, but then I found this excellent project. Unfortunately I have no Go experience.

There does seem to be two different libraries, (https://github.com/chanxuehong/wechat.v2/ and https://github.com/chanxuehong/wechat) but my understanding of Go and chinese is too poor to really dig in and try to figure it out myself. However, I do know that Wechat enterprise 企业微信 has a robust API, with full support for incoming and outgoing webhooks:

http://qydev.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5

A long shot, but let me know what you think.

@42wim
Copy link
Owner Author

42wim commented May 12, 2017

@nickolasclarke Thanks for the suggestion.

I see a couple of issues unfortunately.

  1. documentation is too much chinese for me.
  2. it needs a signup with a mobile phone. (I don't want to use this kind of service, so I can't test it)
  3. wechat seems to have a lot of red tape for creating and testing accounts.

So this is not something I'm going to implement, but I'm happy to accept code from someone for who those 3 things aren't an issue.

@TomTheDragon
Copy link

How about Steam and TOX support?

I am not sure if they would work but thats the two go-libs i found so far:
Steam --> https://github.com/Philipp15b/go-steam
TOX --> https://github.com/kitech/go-toxcore

@gabrc52
Copy link

gabrc52 commented Oct 23, 2021

@petermolnar how do we use your bridge? what still needs to be worked on?

Edit: after fiddling around with it, I've gotten the bridge to work and send and receive messages.

  1. You need to setup signald following instructions from https://signald.org/articles/getting-started/
  2. Get the Signal group ID by running signaldctl groups list
  3. Add to the config:
[signald.num]
Number="+1xxxxxxxxxx"
UnixSocket="/run/user/1000/signald/signald.sock"
RemoteNickFormat="[{NICK}] "

and in the gatweay:

[[gateway.inout]]
account="signald.num"
channel="[channel from step 2]"

As for what needs to be worked on, images/attachments don't work, and instead of display name, the phone number appears in the other messaging apps.

However, I've found an issue with WhatsApp: it gives the following error [0001] WARN whatsapp: [Connect:bridge/whatsapp/whatsapp.go:78] failed to restore session: error decoding login connResp: json: cannot unmarshal array into Go value of type map[string]interface {}. I don't know if it's caused by the environment or version of Go or if any change you made broke WhatsApp or if its behind in commits such that WhatsApp no longer works in the old version it's forked from. I tried go build then ./matterbridge and go run . to run.

@gabrc52
Copy link

gabrc52 commented Oct 23, 2021

For Signal, there was a lot of talk about Go and license limitations. However, with the matterbridge API (https://github.com/42wim/matterbridge/wiki/API), the Signal bridge could be a standalone program bridged through the API, and both should not be a constraint.

This was referenced Oct 24, 2021
@maxxer
Copy link

maxxer commented Dec 9, 2021

Zammad?

A quick search on Github returned this go library for Zammad

@poVoq
Copy link

poVoq commented Jan 16, 2022

https://github.com/tulir/whatsmeow

Will probably become useful soonish.

@glyh
Copy link

glyh commented Mar 1, 2022

For QQ, there is MiraiGo.
For Wechat, there is wechat-go, but the author is not updating it anymore because he's account get banned by tencent because of the repo.

@RhinosF1
Copy link

For QQ, there is MiraiGo.
For Wechat, there is wechat-go, but the author is not updating it anymore because he's account get banned by tencent because of the repo.

We use matterbridge for @miraheze projects and got asked if we could support QQ

@poVoq
Copy link

poVoq commented Mar 29, 2022

New Golang Threema bot library: https://github.com/karalabe/go-threema

@alerque
Copy link

alerque commented Apr 6, 2022

It might be time to revisit Signal. The original issue post above mentions one library possibility but it was underdeveloped and did not have a compatible license. Since then both of those points have changed somewhat:

  1. An alternative approach to licensing issues was taken already by this project for the whatsappmulti support which uses a GPL3 library and just isn't included in the binary release.
  2. There are two active forks of the Go library for Signal, crossie's and tulir's. Most of the work was done in the former, the latter is by the author of the whatsappmulti library being used by this project and specifically tuned for use behind the scenes on Whatsapp (which still uses the Signal protocol).

All this to to say the stage appears to be clear if somebody wanted to jump in and contribute this. I believe there would be some work to wrap the signal protocol library into something that would specifically access the Signal Inc. service and facilitate device registration and such, but there don't seem to be any major roadblocks to it being possible.

@42wim
Copy link
Owner Author

42wim commented Apr 6, 2022

@alerque Yes indeed, we can do it the same way as with whatsapp multidevice.
As usual, I'm open to PR's to support this.

@Bluscream
Copy link

Threema support would be awesome.

Could be a start, but apparently something changed in Threema and it stopped working:
https://github.com/genofire/thrempp

You may want to check if the following Go implementation works for matterbridge:

Open-source implementation of the Threema protocol in Go. [4] https://github.com/o3ma/o3

It might also be worth to take a look at OpenMittsu [1]

[1] https://github.com/blizzard4591/openMittsu

adding a link to the Threema protocol analysis by Jan Ahrens [3] https://blog.jan-ahrens.eu/2014/03/22/threema-protocol-analysis.html

and/or the official Threema API Gateway [2] which would incur costs of CHF 0,02/message shrug this feels like SMS cost pitfalls are back for messengers.

[2] https://gateway.threema.ch/en

i agree. Threema support would finally make matterbridge useful for me once again.

@poVoq
Copy link

poVoq commented May 2, 2022

The older Discouse Bubble chat integration is not maintained and depreciated these days, but the Discourse team is working on a first party chat system right inside Discourse:
https://meta.discourse.org/t/introducing-discourse-chat-beta/210734
https://github.com/discourse/discourse-chat

Would be probably cool to have support for that in Matterbridge.

@tuxmartin
Copy link

Hi, it would be great to have support for https://wire.com/ <---> Rocket.Chat integration.

I like to send some money to this integration.

@troilus
Copy link

troilus commented Jun 30, 2022

Yes, RSS is good idea - poll RSS feed and post new articles to IM channels. Matrix.org IM have this feature via bot https://github.com/matrix-org/go-neb#user-content-rss-bot

Please add RSS support, poll RSS feed and post new articles.

@poVoq
Copy link

poVoq commented Jul 4, 2022

Looks like the new Discourse chat feature is nearing a release: https://meta.discourse.org/t/discourse-chat/230881

@rasos
Copy link

rasos commented Jul 18, 2022

Bridge to the chat of a BigBlueButton video conferencing room. A PoC for bridging to Matrix is now available https://git.fairkom.net/chat/bbb-chat-bridge

@poVoq
Copy link

poVoq commented Aug 5, 2022

https://blog.discourse.org/2022/08/discourse-chat-is-now-available-try-it-out-today/

It supports incoming webhooks, so it could probably work similar to Slack/Discord etc.

Edit: incoming webhooks are Slack-like so that should be very easy to add: https://meta.discourse.org/t/discourse-chat/230881

There is also a golang lib: https://github.com/FrenchBen/godisco
But support for the chat needs to be probably added first for using it as a bot to read messages.

@poVoq
Copy link

poVoq commented Aug 11, 2022

No idea if that will work, but there is a tencentqq Golang lib:

https://github.com/Mrs4s/MiraiGo

(Found via: https://gitlab.com/xiayesuifeng/matrix-tencentqq-bridge )

@Bluscream
Copy link

Wouldnt it be easier to send your messages directly to the CCP

@poVoq
Copy link

poVoq commented Aug 12, 2022

As opposed to sending them directly to the NSA as with many of the currently supported services? 😅

@Pantyhose-X
Copy link

Add bridge

cabal p2p/decentralized chat. No server exists

@Mikaela
Copy link

Mikaela commented Dec 27, 2022

Syncplay gateway support would be lovely. Syncplay/syncplay#574 has some links on the protocol details in the end of the original post.

@adbenitez
Copy link
Contributor

adbenitez commented Feb 24, 2023

  • deltachat - PR welcome

hi @42wim, for deltachat there is a new WIP library at: https://github.com/deltachat/deltachat-rpc-client-go

I am really loving matterbridge and will probably play with it but I am really new to Golang so not sure if I will be able to make something worthy of a PR, but maybe at least some simple 3rd party API client

@Mikaela
Copy link

Mikaela commented May 28, 2023

SimpleX is an privacy first decentralised messenger that doesn't even have user IDs and which I have been enjoying on iOS and Android. I would like to Matterbridge it in the future. However:

@cooljeanius
Copy link

groupme - PR welcome

I'm interested in this; any pointers on how one might get started with it?

@Bluscream
Copy link

Sam Porter Bridges

@Sh4d0wless
Copy link

Sh4d0wless commented Jan 3, 2024

nobody work with Viber ?

@Lippiece
Copy link

I would very much love to see Simplex in the list.

@poVoq
Copy link

poVoq commented May 24, 2024

https://github.com/ben-forster/revolt

Go API wrapper for Revolt chat.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests