ircbits.com

Index / Bridging IRC and Discord: a working config, and the two settings everyone misses

Bridging IRC and Discord: a working config, and the two settings everyone misses

Updated July 26, 2026

There is no official gateway between the two and there never will be, so IRC and Discord meet through a bot you run yourself. Matterbridge is the answer for almost everyone.

The complete config

One Go binary, one TOML file. This is a full two-way bridge between a Libera channel and a Discord server:

[irc.libera]
Server="irc.libera.chat:6697"
UseTLS=true
Nick="myprojectbridge"
UseSASL=true
NickServNick="myprojectbridge"
NickServPassword="…"
RemoteNickFormat="<{NICK}> "

[discord.myproject]
Token="…"                 # bot token, not your account
Server="My Project"       # guild name or ID
AutoWebhooks=true
RemoteNickFormat="{NICK}"

[[gateway]]
name="general"
enable=true
    [[gateway.inout]]
    account="irc.libera"
    channel="#myproject"
    [[gateway.inout]]
    account="discord.myproject"
    channel="general"      # no leading '#'

Install, general config anatomy and the other platforms are in the Matterbridge setup guide.

The two settings everyone misses

AutoWebhooks=true needs the Manage Webhooks permission on the bot's role. It is what makes IRC people appear on Discord under their own names and avatars rather than all speaking through one bot account. Without it, Discord users see <bridge> <dave> hi on every single line, and they will hate it.

Message Content Intent must be switched on in the Discord developer portal, under the app's Bot page, along with Server Members Intent. Both are privileged, both are off by default, and this is the failure everyone hits: without the first one the bot connects fine, reports no errors, receives messages with empty content, and relays nothing. If your bridge is silent in one direction, check this before anything else.

Bot accounts only

Bridging through a user account rather than a bot token violates Discord's terms of service and gets accounts banned. Self-bot libraries that promise a nicer result are not worth the account. Create a real application, use its bot token, invite it to the server.

go-discord-irc — puppets, if you must

Creates a real IRC user per Discord user, so Discord people appear as ordinary nicks that can be opped and banned rather than one relay bot speaking for a crowd. On the IRC side it is a much better experience.

It has been effectively frozen since 2022, and the author's own position is that the functionality belongs in Matterbridge. Worth knowing about; hard to recommend for a new deployment.

Download: qaisjp/go-discord-irc

What will not survive the crossing

Threads, edits, reactions, replies and attachments have no IRC equivalent. Edits typically arrive on IRC as a second message, reactions vanish, and files need a media server configured in Matterbridge or they simply do not cross — you get Could not share file (no mediaserver configured) instead.

Tell the Discord side that up front. Most friction in bridged communities comes from one side assuming the other saw something it never received.

Where to go next