IRC Support
mzchat includes a built-in IRC bridge, allowing users to connect using standard IRC clients. This bridge acts as a gateway, enabling IRC users to participate in mzchat channels alongside native users.
Supported IRCv3 Capabilities
Section titled “Supported IRCv3 Capabilities”The bridge implements the following IRCv3 specifications to provide a rich chat experience:
The batch capability is used to group related messages together. mzchat primarily uses this for sending blocks of chat history efficiently.
mzchat implements the draft/chathistory extension, allowing clients to fetch message history.
- Supported commands:
LATEST,BEFORE,AFTER,BETWEEN,AROUND,TARGETS. - This ensures that when you connect via IRC, you can see recent context in your channels.
With echo-message, messages you send are echoed back to you by the server. This confirms that your message was received and processed, and ensures that your client’s history matches the server’s state.
The message-tags capability allows the server to attach metadata to messages. mzchat uses this to provide timestamps (server-time) and message IDs.
The server-time capability adds a timestamp tag to messages. This allows your client to display the correct time for messages, even if they were sent while you were offline or if there is network latency.
Implementation Notes
Section titled “Implementation Notes”- Authentication: Currently, the IRC bridge only supports ephemeral access. Connecting via IRC creates a temporary user session. Linking IRC sessions to existing mzchat accounts is not yet supported.
- Nicknames: Your IRC nickname becomes your display name in mzchat (prefixed with
irc:internally). - Channels: Joining a channel like
#generalon IRC puts you in the corresponding mzchat channel.