1 /// 2 module vibeirc.constants; 3 4 package enum CTCP_ENCAPSULATOR = '\x01'; 5 6 /++ 7 Color codes for use with $(LINK2 ../utility/color.html, color). 8 +/ 9 enum Color: string 10 { 11 none = null, ///Default color 12 white = "00", /// 13 black = "01", /// 14 blue = "02", /// 15 green = "03", /// 16 red = "04", /// 17 brown = "05", /// 18 purple = "06", /// 19 orange = "07", /// 20 yellow = "08", /// 21 lightgreen = "09", /// 22 teal = "10", /// 23 lightcyan = "11", /// 24 lightblue = "12", /// 25 pink = "13", /// 26 grey = "14", /// 27 lightgrey = "15", /// 28 transparent = "99", /// 29 } 30 31 /++ 32 Numerics used in place of words in IRC commands. 33 Only sent from the server. 34 +/ 35 enum Numeric 36 { 37 /++ 38 Sent after successfully logging in to the server. 39 +/ 40 RPL_WELCOME = 001, 41 42 /++ 43 ditto 44 +/ 45 RPL_YOURHOST = 002, 46 47 /++ 48 ditto 49 +/ 50 RPL_CREATED = 003, 51 52 /++ 53 ditto 54 +/ 55 RPL_MYINFO = 004, 56 57 /++ 58 Sent when the connection is refused, suggesting an alternate server. 59 This is often used when the connection is refused because the server is already full. 60 +/ 61 RPL_BOUNCE = 005, 62 63 /++ 64 Reply format used by USERHOST to list replies to the query list. 65 +/ 66 RPL_USERHOST = 302, 67 68 /++ 69 Reply format used by ISON to list replies to the query list. 70 +/ 71 RPL_ISON = 303, 72 73 /++ 74 Reply from a command directed at a user who is marked as away. 75 +/ 76 RPL_AWAY = 301, 77 78 /++ 79 Reply from AWAY command when no longer marked as away. 80 +/ 81 RPL_UNAWAY = 305, 82 83 /++ 84 Reply from AWAY when marked as away. 85 +/ 86 RPL_NOWAWAY = 306, 87 88 /++ 89 Reply to WHOIS with information about the user. 90 +/ 91 RPL_WHOISUSER = 311, 92 93 /++ 94 Reply to WHOIS with information about the server the user is connected to. 95 +/ 96 RPL_WHOISSERVER = 312, 97 98 /++ 99 Reply to WHOIS indicating the operator status of the user. 100 +/ 101 RPL_WHOISOPERATOR = 313, 102 103 /++ 104 Reply to WHOIS with information about the user's idle status. 105 +/ 106 RPL_WHOISIDLE = 317, 107 108 /++ 109 End of replies to WHOIS command. 110 +/ 111 RPL_ENDOFWHOIS = 318, 112 113 /++ 114 Reply to WHOIS listing the channels the user has joined. 115 +/ 116 RPL_WHOISCHANNELS = 319, 117 118 /++ 119 Reply to WHOWAS with information about the user. 120 +/ 121 RPL_WHOWASUSER = 314, 122 123 /++ 124 End of replies to WHOWAS. 125 +/ 126 RPL_ENDOFWHOWAS = 369, 127 128 /++ 129 Reply to LIST containing a single channel. 130 +/ 131 RPL_LIST = 322, 132 133 /++ 134 End of replies to LIST. 135 +/ 136 RPL_LISTEND = 323, 137 138 /++ 139 Deprecated. Formerly indicated the start of a response to LIST command. 140 +/ 141 RPL_LISTSTART = 321, 142 143 /++ 144 Reply to a MODE command on a channel which does not change any modes. 145 +/ 146 RPL_CHANNELMODEIS = 324, 147 148 /++ 149 Reply to TOPIC if no topic is set. 150 +/ 151 RPL_NOTOPIC = 331, 152 153 /++ 154 Reply to TOPIC if a topic is set. 155 +/ 156 RPL_TOPIC = 332, 157 158 /++ 159 Reply to successful INVITE command. 160 +/ 161 RPL_INVITING = 341, 162 163 /++ 164 Reply to successful SUMMON command. 165 +/ 166 RPL_SUMMONING = 342, 167 168 /++ 169 A single listing of an invitation mask for a channel. 170 +/ 171 RPL_INVITELIST = 346, 172 173 /++ 174 End of RPL_INVITELIST replies. 175 +/ 176 RPL_ENDOFINVITELIST = 347, 177 178 /++ 179 A single listing of an exception mask for a channel. 180 +/ 181 RPL_EXCEPTLIST = 348, 182 183 /++ 184 End of RPL_EXCEPTLIST replies. 185 +/ 186 RPL_ENDOFEXCEPTLIST = 349, 187 188 /++ 189 Reply to VERSION command. 190 +/ 191 RPL_VERSION = 351, 192 193 /++ 194 Reply to WHO command. 195 +/ 196 RPL_WHOREPLY = 352, 197 198 /++ 199 End of replies to WHO command. 200 +/ 201 RPL_ENDOFWHO = 315, 202 203 /++ 204 Reply to NAMES command. 205 +/ 206 RPL_NAMREPLY = 353, 207 208 /++ 209 End of replies to NAMES command. 210 +/ 211 RPL_ENDOFNAMES = 366, 212 213 /++ 214 Reply to LINKS command. 215 +/ 216 RPL_LINKS = 364, 217 218 /++ 219 End of replies to LINKS command. 220 +/ 221 RPL_ENDOFLINKS = 365, 222 223 /++ 224 A single listing of a ban mask for a channel. 225 +/ 226 RPL_BANLIST = 367, 227 228 /++ 229 End of RPL_BANLIST replies. 230 +/ 231 RPL_ENDOFBANLIST = 368, 232 233 /++ 234 Reply to INFO command. 235 +/ 236 RPL_INFO = 371, 237 238 /++ 239 End of replies to INFO command. 240 +/ 241 RPL_ENDOFINFO = 374, 242 243 /++ 244 Sent at the start of MOTD transmission. 245 +/ 246 RPL_MOTDSTART = 375, 247 248 /++ 249 A line of the MOTD. 250 +/ 251 RPL_MOTD = 372, 252 253 /++ 254 End of the MOTD. 255 +/ 256 RPL_ENDOFMOTD = 376, 257 258 /++ 259 Reply to a successful OPER command. 260 +/ 261 RPL_YOUREOPER = 381, 262 263 /++ 264 Reply to a successful REHASH command. 265 +/ 266 RPL_REHASHING = 382, 267 268 /++ 269 Reply received upon successfully registering as a service. 270 +/ 271 RPL_YOURESERVICE = 383, 272 273 /++ 274 Reply to TIME command. 275 +/ 276 RPL_TIME = 391, 277 278 /++ 279 Start of replies to USERS command. 280 +/ 281 RPL_USERSSTART = 392, 282 283 /++ 284 Reply to USERS command. 285 +/ 286 RPL_USERS = 393, 287 288 /++ 289 End of replies to USERS command. 290 +/ 291 RPL_ENDOFUSERS = 394, 292 293 /++ 294 Reply to USERS if there are no users. 295 +/ 296 RPL_NOUSERS = 395, 297 298 /++ 299 The RPL_TRACE* are all returned by the server in response to the TRACE message. 300 How many are returned is dependent on the TRACE message and whether it was sent by an operator or not. 301 There is no predefined order for which occurs first. 302 Replies RPL_TRACEUNKNOWN, RPL_TRACECONNECTING and RPL_TRACEHANDSHAKE are all used for connections 303 which have not been fully established and are either unknown, 304 still attempting to connect or in the process of completing the 'server handshake'. 305 RPL_TRACELINK is sent by any server which handlesa TRACE message and has to pass it on to another server. 306 The list of RPL_TRACELINKs sent in response to a TRACE command traversing the IRC network 307 should reflect the actual connectivity ofthe servers themselves along that path. 308 RPL_TRACENEWTYPE is to be used for any connection which does not fit in the other categories 309 but is being displayed anyway. 310 RPL_TRACEEND is sent to indicate the end of the list. 311 +/ 312 313 /++ 314 Reply to TRACE command from each server along the route to the specified server. 315 +/ 316 RPL_TRACELINK = 200, 317 318 /++ 319 Reply to TRACE command indicating a server which has not yet been connected to. 320 +/ 321 RPL_TRACECONNECTING = 201, 322 323 /++ 324 Reply to TRACE command indicating a server which is still completing the server-to-server handshake. 325 +/ 326 RPL_TRACEHANDSHAKE = 202, 327 328 /++ 329 Reply to TRACE command indicating a server which is in an unknown state. 330 +/ 331 RPL_TRACEUNKNOWN = 203, 332 333 /++ 334 Reply to TRACE command upon a user, indicates that the specified user is an operator. 335 +/ 336 RPL_TRACEOPERATOR = 204, 337 338 /++ 339 Reply to TRACE command upon a user. 340 +/ 341 RPL_TRACEUSER = 205, 342 343 /++ 344 Reply to TRACE command upon a server, with details about the specified server. 345 +/ 346 RPL_TRACESERVER = 206, 347 348 /++ 349 Reply to TRACE command upon a user, indicates that the specified user is a service. 350 +/ 351 RPL_TRACESERVICE = 207, 352 353 /++ 354 Reply to TRACE command, indicates a connection of some sort which does not fit any of the other RPL_TRACE* replies. 355 +/ 356 RPL_TRACENEWTYPE = 208, 357 358 /++ 359 Reply to TRACE command. Unknown meaning. 360 +/ 361 RPL_TRACECLASS = 209, 362 363 /++ 364 Reply to TRACE command. Unknown meaning. 365 +/ 366 RPL_TRACELOG = 261, 367 368 /++ 369 End of replies to TRACE command. 370 +/ 371 RPL_TRACEEND = 262, 372 373 /++ 374 Reply to STATS command with information about the specified server's links. 375 +/ 376 RPL_STATSLINKINFO = 211, 377 378 /++ 379 Reply to STATS command with information about the specified server's commands. 380 +/ 381 RPL_STATSCOMMANDS = 212, 382 383 /++ 384 End of replies to STATS command. 385 +/ 386 RPL_ENDOFSTATS = 219, 387 388 /++ 389 Reply to STATS command with information about the specified server's uptime. 390 +/ 391 RPL_STATSUPTIME = 242, 392 393 /++ 394 Reply to STATS command listing the specified server's C-lines. 395 +/ 396 RPL_STATSCLINE = 213, 397 398 /++ 399 Reply to STATS command listing the specified server's N-lines. 400 +/ 401 RPL_STATSNLINE = 214, 402 403 /++ 404 Reply to STATS command listing the specified server's I-lines. 405 +/ 406 RPL_STATSILINE = 215, 407 408 /++ 409 Reply to STATS command listing the specified server's K-lines. 410 +/ 411 RPL_STATSKLINE = 216, 412 413 /++ 414 Reply to STATS command listing the specified server's Y-lines. 415 +/ 416 RPL_STATSYLINE = 218, 417 418 /++ 419 Reply to STATS command listing the specified server's L-lines. 420 +/ 421 RPL_STATSLLINE = 241, 422 423 /++ 424 Reply to STATS command listing the specified server's O-lines. 425 +/ 426 RPL_STATSOLINE = 243, 427 428 /++ 429 Reply to STATS command listing the specified server's H-lines. 430 +/ 431 RPL_STATSHLINE = 244, 432 433 /++ 434 Reply to MODE command on a user, listing their modes. 435 +/ 436 RPL_UMODEIS = 221, 437 438 /++ 439 Reply to LUSERS command specifying the number of users logged in across the network. 440 +/ 441 RPL_LUSERCLIENT = 251, 442 443 /++ 444 Reply to LUSERS command specifying the number of operators logged in across the network. 445 +/ 446 RPL_LUSEROP = 252, 447 448 /++ 449 Reply to LUSERS command specifying the number of unknown connections. 450 +/ 451 RPL_LUSERUNKNOWN = 253, 452 453 /++ 454 Reply to LUSERS command specifying the number of channels across the network. 455 +/ 456 RPL_LUSERCHANNELS = 254, 457 458 /++ 459 Reply to LUSERS command specifying the number of users and links on the local server. 460 +/ 461 RPL_LUSERME = 255, 462 463 /++ 464 Start of reply to ADMIN command. 465 +/ 466 RPL_ADMINME = 256, 467 468 /++ 469 Reply to ADMIN command, first line. 470 +/ 471 RPL_ADMINLOC1 = 257, 472 473 /++ 474 Reply to ADMIN command, second line. 475 +/ 476 RPL_ADMINLOC2 = 258, 477 478 /++ 479 Reply to ADMIN command, third and final line, typically listing the server administrator's email. 480 +/ 481 RPL_ADMINEMAIL = 259, 482 483 /++ 484 Reply to a command which was dropped, requesting the client to try the command again. 485 +/ 486 RPL_TRYAGAIN = 263, 487 488 /++ 489 Reply to a command on a user when that user does not exist. 490 +/ 491 ERR_NOSUCHNICK = 401, 492 493 /++ 494 Reply to a command on a server when that server does not exist. 495 +/ 496 ERR_NOSUCHSERVER = 402, 497 498 /++ 499 Reply to a command on a channel when that channel does not exist. 500 +/ 501 ERR_NOSUCHCHANNEL = 403, 502 503 /++ 504 Reply to a PRIVMSG command on a channel when the message cannot be sent because the user lacks permissions. 505 +/ 506 ERR_CANNOTSENDTOCHAN = 404, 507 508 /++ 509 Reply to JOIN command when the user has already joined too many channels. 510 +/ 511 ERR_TOOMANYCHANNELS = 405, 512 513 /++ 514 Reply to WHOWAS command indicating there is no history for the given nick. 515 +/ 516 ERR_WASNOSUCHNICK = 406, 517 518 /++ 519 Reply to a command where the given targets are ambiguous. 520 +/ 521 ERR_TOOMANYTARGETS = 407, 522 523 /++ 524 Reply to a SQUERY command on a service which does not exist. 525 +/ 526 ERR_NOSUCHSERVICE = 408, 527 528 /++ 529 Reply to a PING or PONG command which is missing the originator parameter. 530 +/ 531 ERR_NOORIGIN = 409, 532 533 /++ 534 Reply to a command which expects a recipient but was given none. 535 +/ 536 ERR_NORECIPIENT = 411, 537 538 /++ 539 Reply to a command which expects a message body but was given none. 540 +/ 541 ERR_NOTEXTTOSEND = 412, 542 543 /++ 544 Reply when sending a message to a mask but no top-level domain is given for the mask. 545 +/ 546 ERR_NOTOPLEVEL = 413, 547 548 /++ 549 Reply when sending a message to a mask but a wildcard is given for the mask's top-level domain. 550 +/ 551 ERR_WILDTOPLEVEL = 414, 552 553 /++ 554 Reply when sending a message to a mask but the mask is invalid. 555 +/ 556 ERR_BADMASK = 415, 557 558 /++ 559 Reply to a command which does not exist. 560 +/ 561 ERR_UNKNOWNCOMMAND = 421, 562 563 /++ 564 Sent when the server does not have a MOTD. 565 +/ 566 ERR_NOMOTD = 422, 567 568 /++ 569 Reply to ADMIN command when there is no administrator information available. 570 +/ 571 ERR_NOADMININFO = 423, 572 573 /++ 574 Sent when a command fails due to a file operation error. 575 +/ 576 ERR_FILEERROR = 424, 577 578 /++ 579 Reply to NICK command when no nick is given. 580 +/ 581 ERR_NONICKNAMEGIVEN = 431, 582 583 /++ 584 Reply to NICK command when the new nickname is invalid. 585 +/ 586 ERR_ERRONEUSNICKNAME = 432, 587 588 /++ 589 Reply to NICK command when the given nickname is already in use. 590 +/ 591 ERR_NICKNAMEINUSE = 433, 592 593 /++ 594 Sent when a nickname collision is detected, presumably after recovery from a netsplit. 595 +/ 596 ERR_NICKCOLLISION = 436, 597 }