Bridging (Gitter, Slack, IRC etc)


#1

It occurs to me that the current setup is not written down anywhere,
except in (now gone) messages in #community on Slack.
It is a bit different to what is on the old mailing list.
I figure I should write it down in case I get hit by a bus.

I am currently operating a bridge between, IRC, Gitter, and Slack (I could be doing many more if required), for several channels.
I am using MatterBridge, it is a great project.
It just works.

The bot is being hosted by the University Computer Club, at the University of Western Australia.
(I think, after MIT’s Student Information Processing Board, the UCC is the oldest continuously running computing organization in the world).
It’s sitting in it’s own VM (also runs the gitter, stackoverflow notifier)

The channels on the Slack-side are known as #X-bridged, on the other sides they are just the normal channels.
For a full list of everything being bridged see the config below.

#general-bridged is the main one. I kinda feel it should be on the default channel set for slack.

gitter
On gitter the Bot is named GitterIRCbot, because when I created it I was just bridging to IRC.
We can bridge almost anything now.
We could even bridge 2 slack channel on different servers.
Matterbridge is really flexible.

If I get hit by a bus (or otherwise vanish and am uncontactable),
and things go wrong.
the current system can be disabled by blocking/banning the bot user from the channels.
(On some channels there are other options like redacting it’s token)
It can be recreates easy enough.

The current config (no promises I’ll remember to update this when I add things) is below.

[slack.julia]
        Token="NOPENOPENOPE"
        RemoteNickFormat="[{PROTOCOL}] <{NICK}> "


[gitter.gitter]
        Token="NOPENOPENOPE"
        RemoteNickFormat="[{PROTOCOL}] <{NICK}> "

[irc.freenode]
        Server="irc.freenode.net:6667"
        Nick="bridgingbot"
        RemoteNickFormat="[{PROTOCOL}] <{NICK}> "


[[gateway]]
        name="general"
        enable=true

        Server="irc.freenode.net:6667"
        Nick="bridgingbot"
        RemoteNickFormat="[{PROTOCOL}] <{NICK}> "


[[gateway]]
        name="general"
        enable=true

        [[gateway.inout]]
        account="gitter.gitter"
        channel="JuliaLang/julia"

        [[gateway.inout]]
        account="slack.julia"
        channel="general-bridged"


        [[gateway.inout]]
        account="irc.freenode"
        channel="#julia"


[[gateway]]
        name="graphs"
        enable=true

        [[gateway.inout]]
        account="gitter.gitter"
        channel="JuliaGraphs/LightGraphs.jl"

        [[gateway.inout]]
        account="slack.julia"
        channel="graphs-bridged"


[[gateway]]
        name="juno"
        enable=true

        [[gateway.inout]]
        account="gitter.gitter"
        channel="JunoLab/Juno"

        [[gateway.inout]]
        account="slack.julia"
        channel="juno-bridged"



[[gateway]]
        name="flux"
        enable=true

        [[gateway.inout]]
        account="gitter.gitter"
        channel="FluxML/Lobby"

        [[gateway.inout]]
        account="slack.julia"
        channel="flux-bridged"


[[gateway]]
        name="diffeq"
        enable=true

        [[gateway.inout]]
        account="gitter.gitter"
        channel="JuliaDiffEq/Lobby"

        [[gateway.inout]]
        account="slack.julia"
        channel="diffeq-bridged"


[[gateway]]
        name="plots"
        enable=true

        [[gateway.inout]]
        account="gitter.gitter"
        channel="tbreloff/Plots.jl"

        [[gateway.inout]]
        account="slack.julia"
        channel="plots-bridged"


Ping me (preferably on slack, as I don’t check discourse as much) if you want something else bridged.