New SweeBridge - SweeZero's own chat relay/bridge.
Find a file
2025-02-10 20:28:00 -08:00
logos Upload files to "logos" 2024-12-31 16:00:26 -08:00
.gitignore Initial commit 2024-12-30 20:27:42 -08:00
LICENSE Initial commit 2024-12-30 20:27:42 -08:00
README.md Update README.md 2025-02-10 19:38:33 -08:00
sweebridge.py Update sweebridge.py 2025-02-10 20:28:00 -08:00

New SweeBridge

SweeZero's own chat relay/bridge.

Discourse Post announcing New SweeBridge

Dev note: I can't believe a dedicated bridge for SweeZero between Guilded and Libera.Chat became something so big like this :o

To-Do:

  • Clean up code a bit (which I'm too lazy to)
  • Matrix support
  • Revolt support
  • Discourse support
  • Add Web Dashboard/Control
  • Allow control if you're an operator/admin of the channel/server
  • AnthroChat support
  • SnooNet support
  • OFTC support (Requested by Depresst0)
  • SweeNet support
  • Freenode support (Requested by Mintle on IRC Libera chat)
  • Irc-Nerds support (Requested by Mintle on IRC Libera chat)
  • Add support for adding custom IRC nets

Current platforms:

Requirements of software:

Warning

The user running SweeBridge must have read+write access to /var/www/html/sweebridge
And /var/cache

For matrix images to render, a web server should be setup pointing to /var/www/html/sweebridge (the website path can be set as shown in the environment variable listed below)

Required enviroment variables:

LiberaNick=SweeBridge
LiberaUser=BridgeUser/Libera # for use in ZNC

SweeNetNick=SweeBridge
SweeNetUser=BridgeUser/SweeNet # for use in ZNC

MatrixHomeserver=https://matrix.example.com
# Use the real client API host, not the host with /.well-known/matrix
# If it's running on a different port, you can use https://matrix.example.com:8008/
# I recommend using a custom homeserver instead of matrix.org
# SSL is required

MatrixUserID=@sweebridge:matrix.example.com
MatrixToken=syi_***
MatrixFileCollectURL=https://sweebridge.example.com/ # URL must end with /

ZNCPassword=password # for use in ZNC
DiscordToken=token
GuildedToken=token

Required config.json

{
"CommunityName": {
        "discord": {
            "guild": guild_id,
            "channel": channel_id,
            "webhook": "webhook_url"
        },
        "guilded": {
            "server": "server_id",
            "channel": "channel_id",
            "webhook": "webhook_url"
        },
        "libera": {
            "channel": "#channel",
            "flags": {
                "nosystem": "disable"
            }
        },
        "sweenet": {
            "channel": "#channel",
            "flags": {
                "nosystem": "full"
            }
        },
        "matrix": {
            "room": "!room_ID:matrix.example.com"
        }
    }
}

Tip

(IRC) nosystem values:

  • disable - Show all system messages
  • partial - Only show Quit, Part, and Join messages
  • full - NO system messages, only user messages

(Matrix) Use room IDs (!ID:Homeserver)

AFAIK, matrix-nio can only use room IDs, so using public handles #room:matrix.example.com will not be supported.

Communities bridged with SweeBridge


SweeZero - All platforms supported with SweeBridge are bridged here

MintleChats - Discord <-> Libera.Chat

Bacon Hair Community (BHC) - Discord, Guilded, Libera.Chat, Matrix

Please contact Swee if you want your community bridged and/or listed above :3