Skip to content

Developer Information

Valerie Liu edited this page Jun 6, 2025 · 1 revision

The information on this page is for developers and contributors. If you are not interested in developing something with ObsidianIRC, you can safely ignore this entire section.

Client

Server

The server is proudly built on UnrealIRCd, an IRCv3 compliant server, which uses the C programming language.

UnrealIRCd

If you are interested in developing extensions to the ObsidianIRC server code, a good starting point would be to bookmark the following resources:

Standard Reply Registry

This shows IRCv3 and custom Standard Reply codes specific to ObsidianIRC.

Command Message Type Message Format / Code Meaning
REGISTER SUCCESS REGISTER SUCCESS <account> Account registered successfully.
REGISTER FAIL FAIL REGISTER SERVER_BUG Server database is unavailable or a critical error occurred.
REGISTER FAIL FAIL REGISTER BAD_ACCOUNT_NAME <account> Account name is invalid (too short, in use, or banned).
REGISTER FAIL FAIL REGISTER ACCOUNT_EXISTS <account> Account name is already registered.
REGISTER FAIL FAIL REGISTER INTERNAL_ERROR Failed to write the account to the database.
REGISTER FAIL FAIL REGISTER ALREADY_AUTHENTICATED <account> You are already authenticated to an account.
REGISTER FAIL FAIL REGISTER SERVER_BUG <account> The password hashing mechanism was not supported.
REGISTER NOTE NOTE REGISTER INVALID_PARAMS Command used with missing or invalid parameters. Syntax: /REGISTER <name> <email> <password>
IDENTIFY SUCCESS IDENTIFY SUCCESS <account> You have been successfully identified to the account.
IDENTIFY FAIL FAIL IDENTIFY INVALID_ACCOUNT Account name is empty, too short, in use, or banned.
IDENTIFY FAIL FAIL IDENTIFY ALREADY_IDENTIFIED <account> You are already identified to this account.
IDENTIFY FAIL FAIL IDENTIFY INVALID_PASSWORD Password is empty or incorrect.
IDENTIFY FAIL FAIL IDENTIFY NOT_LOGGED_IN You must be logged in to identify.
IDENTIFY FAIL FAIL IDENTIFY ACCOUNT_NOT_FOUND <account> The specified account does not exist.
IDENTIFY NOTE NOTE IDENTIFY INVALID_PARAMS Command used with missing or invalid parameters. Syntax: /IDENTIFY <account> <password>
LOGOUT SUCCESS LOGOUT SUCCESS You have been logged out successfully.
LOGOUT FAIL FAIL LOGOUT NOT_LOGGED_IN You are not logged in.
LISTACC FAIL LISTACC NO_ACCOUNTS No accounts are registered.
LISTACC FAIL LISTACC NO_ACCOUNT <account> The specified account does not exist.

Bouncer

Clone this wiki locally