SAC:Heisenbridge

From OSGeo
Jump to navigation Jump to search

Heisenbridge is an IRC <-> Matrix bridge that we are running on an LXC container hosted on osgeo3 machine and administered by the OSGeo System Administration Committee.

The bridge registers as an app service with the OSGeo SAC:MatrixSynapse homeserver.

The configuration and install of the bridge is driven by Ansible (restricted access): https://git.osgeo.org/gitea/sac/ansible-deployment

At time of writing this the running Heisenbridge version is 1.14.6

Administration

Only the admin user can interact with the bridge bot, the current allowed user is set via an HEISENBRIDGE_OWNER_MXID variable in ansible, and is currently set to @strk:osgeo.org - the bot supports "help" commands to figure how to do things.

Bridging IRC channels

Bridging IRC channels with Matrix rooms is a manual operation that is done by interacting with a bot Matrix user.

The relevant command is PLUMB (try: `plumb --help`)

Topic Sync

If you want to maintain the Matrix room description matching the IRC channel topic, it can be done interacting with the bot in the IRC network specific room (ie: `#OSGeo <-> libera.chat`) using the ROOM command, like the following:

 room #<channelname> topic --sync any

For help:

 room #<channelname> topic --help

If you set sync mode to "any" (or matrix?) changes in Matrix room description will be propagated to changes in the IRC topic, but this is only possible if you grant operator status to the bot user in libera.chat

To simplify things it is possible to grant auto-op to the bridge user. Bridge user on libera.chat is registered as "osgeo-matrix", and you can grant it auto-op on IRC channels with:

    /msg ChanServ flags #<channelname> osgeo-matrix +O

Granting operator status to the bot allows automatic synchronization of the IRC channel topic with the Matrix Room description, but at the same time would let the bot kick nicks out of the room (a narrower permission to just change the topic would probably be better).