Package circuits :: Package net :: Package protocols :: Module irc

Module irc

Internet Relay Chat Protocol

This module implements the Internet Relay Chat Protocol or commonly known as IRC.

This module can be used in both server and client implementations.

Classes
  Raw
Raw(Event) -> Raw Event
  Numeric
Numeric(Event) -> Numeric Event
  NewNick
NewNick(Event) -> NewNick Event
  Pass
  User
  Nick
Nick(Event) -> Nick Event
  Quit
Quit(Event) -> Quit Event
  Message
Message(Event) -> Message Event
  Notice
Notice(Event) -> Notice Event
  Ping
Ping(Event) -> Ping Event
  Pong
Pong(Event) -> Pong Event
  Join
Join(Event) -> Join Event
  Part
Part(Event) -> Part Event
  Ctcp
Ctcp(Event) -> Ctcp Event
  Topic
Topic(Event) -> Topic Event
  NetInfo
NetINfo(Event) -> NetInfo Event
  IRC
IRC Protocol Component
Functions
lines, buffer
splitLines(s, buffer)
Append s to buffer and find any new lines of text in the string splitting at the standard IRC delimiter CRLF.
str
strip(s, color=False)
Strips the : from the start of a string and optionally also strips all colors if color is True.
str
sourceJoin(nick, ident, host)
Join a source previously split by sourceSplit and join it back together inserting the ! and @ appropiately.
str, str, str
sourceSplit(source)
Split the given source into it's parts.
Variables
  LINESEP = re.compile(r'\r?\n')
  RPL_WELCOME = 1
  RPL_YOURHOST = 2
  RPL_TRACELINK = 200
  RPL_TRACECONNECTING = 201
  RPL_TRACEHANDSHAKE = 202
  RPL_TRACEUNKNOWN = 203
  RPL_TRACEOPERATOR = 204
  RPL_TRACEUSER = 205
  RPL_TRACESERVER = 206
  RPL_TRACENEWTYPE = 208
  RPL_TRACELOG = 261
  RPL_STATSLINKINFO = 211
  RPL_STATSCOMMANDS = 212
  RPL_STATSCLINE = 213
  RPL_STATSNLINE = 214
  RPL_STATSILINE = 215
  RPL_STATSKLINE = 216
  RPL_STATSYLINE = 218
  RPL_ENDOFSTATS = 219
  RPL_STATSLLINE = 241
  RPL_STATSUPTIME = 242
  RPL_STATSOLINE = 243
  RPL_STATSHLINE = 244
  RPL_UMODEIS = 221
  RPL_LUSERCLIENT = 251
  RPL_LUSEROP = 252
  RPL_LUSERUNKNOWN = 253
  RPL_LUSERCHANNELS = 254
  RPL_LUSERME = 255
  RPL_ADMINME = 256
  RPL_ADMINLOC1 = 257
  RPL_ADMINLOC2 = 258
  RPL_ADMINEMAIL = 259
  RPL_NONE = 300
  RPL_USERHOST = 302
  RPL_ISON = 303
  RPL_AWAY = 301
  RPL_UNAWAY = 305
  RPL_NOWAWAY = 306
  RPL_WHOISUSER = 311
  RPL_WHOISSERVER = 312
  RPL_WHOISOPERATOR = 313
  RPL_WHOISIDLE = 317
  RPL_ENDOFWHOIS = 318
  RPL_WHOISCHANNELS = 319
  RPL_WHOWASUSER = 314
  RPL_ENDOFWHOWAS = 369
  RPL_LIST = 322
  RPL_LISTEND = 323
  RPL_CHANNELMODEIS = 324
  RPL_NOTOPIC = 331
  RPL_TOPIC = 332
  RPL_INVITING = 341
  RPL_SUMMONING = 342
  RPL_VERSION = 351
  RPL_WHOREPLY = 352
  RPL_ENDOFWHO = 315
  RPL_NAMREPLY = 353
  RPL_ENDOFNAMES = 366
  RPL_LINKS = 364
  RPL_ENDOFLINKS = 365
  RPL_BANLIST = 367
  RPL_ENDOFBANLIST = 368
  RPL_INFO = 371
  RPL_ENDOFINFO = 374
  RPL_MOTDSTART = 375
  RPL_MOTD = 372
  RPL_ENDOFMOTD = 376
  RPL_YOUREOPER = 381
  RPL_REHASHING = 382
  RPL_TIME = 391
  RPL_USERSSTART = 392
  RPL_USERS = 393
  RPL_ENDOFUSERS = 394
  RPL_NOUSERS = 395
  ERR_NOSUCHNICK = 401
  ERR_NOSUCHSERVER = 402
  ERR_NOSUCHCHANNEL = 403
  ERR_CANNOTSENDTOCHAN = 404
  ERR_TOOMANYCHANNELS = 405
  ERR_WASNOSUCHNICK = 406
  ERR_TOOMANYTARGETS = 407
  ERR_NOORIGIN = 409
  ERR_NORECIPIENT = 411
  ERR_NOTEXTTOSEND = 412
  ERR_NOTOPLEVEL = 413
  ERR_WILDTOPLEVEL = 414
  ERR_UNKNOWNCOMMAND = 421
  ERR_NOMOTD = 422
  ERR_NOADMININFO = 423
  ERR_FILEERROR = 424
  ERR_NONICKNAMEGIVEN = 431
  ERR_ERRONEUSNICKNAME = 432
  ERR_NICKNAMEINUSE = 433
  ERR_NICKCOLLISION = 436
  ERR_NOTONCHANNEL = 442
  ERR_USERONCHANNEL = 443
  ERR_NOLOGIN = 444
  ERR_SUMMONDISABLED = 445
  ERR_USERSDISABLED = 446
  ERR_NOTREGISTERED = 451
  ERR_NEEDMOREPARAMS = 461
  ERR_ALREADYREGISTRED = 462
  ERR_PASSWDMISMATCH = 464
  ERR_YOUREBANNEDCREEP = 465
  ERR_KEYSET = 467
  ERR_CHANNELISFULL = 471
  ERR_UNKNOWNMODE = 472
  ERR_INVITEONLYCHAN = 473
  ERR_BANNEDFROMCHAN = 474
  ERR_BADCHANNELKEY = 475
  ERR_NOPRIVILEGES = 481
  ERR_CHANOPRIVSNEEDED = 482
  ERR_CANTKILLSERVER = 483
  ERR_NOOPERHOST = 491
  ERR_UMODEUNKNOWNFLAG = 501
  ERR_USERSDONTMATCH = 502
Function Details

splitLines(s, buffer)

 

Append s to buffer and find any new lines of text in the string splitting at the standard IRC delimiter CRLF. Any new lines found, return them as a list and the remaining buffer for further processing.

Returns: lines, buffer

sourceSplit(source)

 

Split the given source into it's parts.

source must be of the form: nick!ident@host

Example: >>> nick, ident, host, = sourceSplit("Joe!Blogs@localhost")

Returns: str, str, str