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

Interested in other protocols? #9

Closed
jleclanche opened this issue Feb 15, 2016 · 8 comments
Closed

Interested in other protocols? #9

jleclanche opened this issue Feb 15, 2016 · 8 comments
Labels
enhancement New feature or request

Comments

@jleclanche
Copy link

Hi

I've been designing a gitter/irc bridge that would work much like matterbridge. I use gitter-irc-bot for mirroring channels and it doesn't support multiple bridges per instance.

I wrote a prototype here in python:
https://github.com/jleclanche/gitterway

My idea was to allow multiple protocols, including the possibility of writing your own protocol plugin eventually. I wrote another prototype in go (which I think is better for this task), with the config in toml looking something like this:

[gitter]
    # Your gitter accounts

    [gitter.hsimbot]
    apikey = "..."

    [gitter.helixbot]
    apikey = "..."

[irc]
    # Your IRC accounts

    [irc.helixbot]
    server = "chat.freenode.net"
    port = 6697
    nick = "HelixBot"


# Define your gateways below
[[gateway]]
    name = "hearthsim"
    in = [
        { account = "gitter.hsimbot", channel = "hearthsim/hearthsim" },
        { account = "irc.helixbot", channel = "#hearthsim" },
    ]
    out = [
        { account = "gitter.hsimbot", channel = "hearthsim/hearthsim" },
        { account = "irc.helixbot", channel = "#hearthsim" },
    ]

[[gateway]]
    name = "letsauth"
    in = [
        { account = "gitter.helixbot", channel = "letsauth/letsauth" },
        { account = "irc.helixbot", channel = "#letsauth" },
    ]
    out = [
        { account = "gitter.helixbot", channel = "hearthsim/hearthsim" },
        { account = "irc.helixbot", channel = "#hearthsim" },
    ]

I'd like to expand this to gitter, slack and mattermost, possibly some other protocols (Matrix?). This is similar to what Sameroom does. Anyway, wondering if you're interested in all this, your code looks great right now.

@42wim
Copy link
Owner

42wim commented Feb 24, 2016

Sure, matterbridge could add support for bridging other protocols to mattermost.
Any help is appreciated to accomplish this :-)

But bridging everything to everything, that should be another project I think.

@jleclanche
Copy link
Author

The way I see it, if you want to bridge a protocol you need to implement both read and write to it anyway - so in a proper structure, it becomes very easy to bridge, say, slack to irc, mattermost to gitter etc. You just set the proper input and output. That's what I'm interested in achieving.

@42wim
Copy link
Owner

42wim commented Mar 1, 2016

Yes, I agree. Should be feasible, the question is only to find some time to do this. Making it generic to bridge any protocol shouldn't be much work, but implementing the other protocols is. So PR's are welcome.

@42wim 42wim added the enhancement New feature or request label Mar 1, 2016
@jleclanche
Copy link
Author

Excellent. I can't make promises, but when I work on this I'll PR here.

J. Leclanche

On Wed, Mar 2, 2016 at 1:10 AM, @42wim notifications@github.com wrote:

Yes, I agree. Should be feasible, the question is only to find some time
to do this. Making it generic to bridge any protocol shouldn't be much
work, but implementing the other protocols is. So PR's are welcome.


Reply to this email directly or view it on GitHub
#9 (comment).

@42wim
Copy link
Owner

42wim commented Aug 15, 2016

I don't know if you're still interested, but I refactored the code to allow easy bridging between multiple protocols (and not only from mattermost).

Current master has support for irc, xmpp (very limited) and mattermost.

@jleclanche
Copy link
Author

@42wim awesome. You might want to take a look here too: reactiflux/discord-irc#100

@42wim
Copy link
Owner

42wim commented Sep 4, 2016

@jleclanche just added support for gitter btw ;-)

@42wim 42wim mentioned this issue Sep 11, 2016
26 tasks
@42wim
Copy link
Owner

42wim commented Sep 17, 2016

Closing this, use #28 for further conversation

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

No branches or pull requests

2 participants