ellidri-tokens 0.1.0

Parse IRC like a boss
Documentation
//! The list of IRC replies.
//!
//! Each reply must have the client's nick as first parameter.
//!
//! Sources:
//!
//! - <https://tools.ietf.org/html/rfc2812.html#section-5>
//! - <https://modern.ircdocs.horse/#numerics>

pub const WELCOME: &str   = "001";  // :Welcome message
pub const YOURHOST: &str  = "002";  // :Your host is...
pub const CREATED: &str   = "003";  // :This server was created...
pub const MYINFO: &str    = "004";  // <servername> <version> <umodes> <chan modes> <chan modes with a parameter>
pub const ISUPPORT: &str  = "005";  // 1*13<TOKEN[=value]> :are supported by this server

pub const UMODEIS: &str       = "221";  // <modes>
pub const LUSERCLIENT: &str   = "251";  // :<int> users and <int> services on <int> servers
pub const LUSEROP: &str       = "252";  // <int> :operator(s) online
pub const LUSERUNKNOWN: &str  = "253";  // <int> :unknown connection(s)
pub const LUSERCHANNELS: &str = "254";  // <int> :channels formed
pub const LUSERME: &str       = "255";  // :I have <int> clients and <int> servers
pub const ADMINME: &str       = "256";  // <server> :Admin info
pub const ADMINLOC1: &str     = "257";  // :<info>
pub const ADMINLOC2: &str     = "258";  // :<info>
pub const ADMINMAIL: &str     = "259";  // :<info>

pub const AWAY: &str            = "301";  // <nick> :<away message>
pub const UNAWAY: &str          = "305";  // :You are no longer marked as being away
pub const NOWAWAY: &str         = "306";  // :You have been marked as being away
pub const WHOISUSER: &str       = "311";  // <nick> <user> <host> * :<realname>
pub const WHOISSERVER: &str     = "312";  // <nick> <server> :<server info>
pub const WHOISOPERATOR: &str   = "313";  // <nick> :is an IRC operator
pub const ENDOFWHO: &str        = "315";  // <name> :End of WHO list
pub const WHOISIDLE: &str       = "317";  // <nick> <integer> [<integer>] :seconds idle [, signon time]
pub const ENDOFWHOIS: &str      = "318";  // <nick> :End of WHOIS list
pub const WHOISCHANNELS: &str   = "319";  // <nick> :*( (@/+) <channel> " " )
pub const LIST: &str            = "322";  // <channel> <# of visible members> <topic>
pub const LISTEND: &str         = "323";  // :End of list
pub const CHANNELMODEIS: &str   = "324";  // <channel> <modes> <mode params>
pub const NOTOPIC: &str         = "331";  // <channel> :No topic set
pub const TOPIC: &str           = "332";  // <channel> <topic>
pub const TOPICWHOTIME: &str    = "333";  // <channel> <nick> <setat>
pub const INVITING: &str        = "341";  // <nick> <channel>
pub const INVITELIST: &str      = "346";  // <channel> <invite mask>
pub const ENDOFINVITELIST: &str = "347";  // <channel> :End of invite list
pub const EXCEPTLIST: &str      = "348";  // <channel> <exception mask>
pub const ENDOFEXCEPTLIST: &str = "349";  // <channel> :End of exception list
pub const VERSION: &str         = "351";  // <version> <servername> :<comments>
pub const WHOREPLY: &str        = "352";  // <channel> <user> <host> <server> <nick> "H"/"G" ["*"] [("@"/"+")] :<hop count> <nick>
pub const NAMREPLY: &str        = "353";  // <=/*/@> <channel> :1*(@/ /+user)
pub const ENDOFNAMES: &str      = "366";  // <channel> :End of names list
pub const BANLIST: &str         = "367";  // <channel> <ban mask>
pub const ENDOFBANLIST: &str    = "368";  // <channel> :End of ban list
pub const INFO: &str            = "371";  // :<info>
pub const MOTD: &str            = "372";  // :- <text>
pub const ENDOFINFO: &str       = "374";  // :End of INFO
pub const MOTDSTART: &str       = "375";  // :- <servername> Message of the day -
pub const ENDOFMOTD: &str       = "376";  // :End of MOTD command
pub const YOUREOPER: &str       = "381";  // :You are now an operator
pub const REHASHING: &str       = "382";  // <config file> :Rehashing
pub const TIME: &str            = "391";  // <servername> :<time in whatever format>

pub const ERR_NOSUCHNICK: &str       = "401";  // <nick> :No such nick/channel
pub const ERR_NOSUCHCHANNEL: &str    = "403";  // <channel> :No such channel
pub const ERR_CANNOTSENDTOCHAN: &str = "404";  // <channel> :Cannot send to channel
pub const ERR_INVALIDCAPCMD: &str    = "410";  // <command> :Unknown cap command
pub const ERR_NORECIPIENT: &str      = "411";  // :No recipient given
pub const ERR_NOTEXTTOSEND: &str     = "412";  // :No text to send
pub const ERR_INPUTTOOLONG: &str     = "417";  // :Input line was too long
pub const ERR_UNKNOWNCOMMAND: &str   = "421";  // <command> :Unknown command
pub const ERR_NOMOTD: &str           = "422";  // :MOTD file missing
pub const ERR_NONICKNAMEGIVEN: &str  = "431";  // :No nickname given
pub const ERR_ERRONEUSNICKNAME: &str = "432";  // <nick> :Erroneous nickname
pub const ERR_NICKNAMEINUSE: &str    = "433";  // <nick> :Nickname in use
pub const ERR_USERNOTINCHANNEL: &str = "441";  // <nick> <channel> :User not in channel
pub const ERR_NOTONCHANNEL: &str     = "442";  // <channel> :You're not on that channel
pub const ERR_USERONCHANNEL: &str    = "443";  // <user> <channel> :is already on channel
pub const ERR_NOTREGISTERED: &str    = "451";  // :You have not registered
pub const ERR_NEEDMOREPARAMS: &str   = "461";  // <command> :Not enough parameters
pub const ERR_ALREADYREGISTRED: &str = "462";  // :Already registered
pub const ERR_PASSWDMISMATCH: &str   = "464";  // :Password incorrect
pub const ERR_YOUREBANNEDCREEP: &str = "465";  // :You're banned from this server
pub const ERR_KEYSET: &str           = "467";  // <channel> :Channel key already set
pub const ERR_CHANNELISFULL: &str    = "471";  // <channel> :Cannot join channel (+l)
pub const ERR_UNKNOWNMODE: &str      = "472";  // <char> :Don't know this mode for <channel>
pub const ERR_INVITEONLYCHAN: &str   = "473";  // <channel> :Cannot join channel (+I)
pub const ERR_BANNEDFROMCHAN: &str   = "474";  // <channel> :Cannot join channel (+b)
pub const ERR_BADCHANKEY: &str       = "475";  // <channel> :Cannot join channel (+k)
pub const ERR_NOPRIVILEDGES: &str    = "481";  // :Permission Denied- You're not an IRC operator
pub const ERR_CHANOPRIVSNEEDED: &str = "482";  // <channel> :You're not an operator

pub const ERR_UMODEUNKNOWNFLAG: &str = "501";  // :Unknown mode flag
pub const ERR_USERSDONTMATCH: &str   = "502";  // :Can't change mode for other users

pub const LOGGEDIN: &str        = "900";  // <nick> <nick>!<ident>@<host> <account> :You are now logged in as <user>
pub const LOGGEDOUT: &str       = "901";  // <nick> <nick>!<ident>@<host> :You are now logged out
pub const ERR_NICKLOCKED: &str  = "902";  // :You must use a nick assigned to you
pub const SASLSUCCESS: &str     = "903";  // :SASL authentication successful
pub const ERR_SASLFAIL: &str    = "904";  // :SASL authentication failed
pub const ERR_SASLTOOLONG: &str = "905";  // :SASL message too long
pub const ERR_SASLABORTED: &str = "906";  // :SASL authentication aborted
pub const ERR_SASLALREADY: &str = "907";  // :You have already authenticated using SASL
pub const SASLMECHS: &str       = "908";  // <mechanisms> :are available SASL mechanisms