Welcome to irctk’s documentation!¶
Contents:
Client¶
-
class
irctk.client.
Client
(nickname: str = 'irctk', ident: str = 'irctk', realname: str = 'irctk', password: str = None)¶ >>> client = Client(nickname='example')
-
channel_class
¶ alias of
irctk.channel.Channel
-
connect
(host: str, port: int, use_tls: bool = False, loop=None)¶ Connect to the IRC server
-
irc_equal
(lhs: str, rhs: str) → bool¶ Determine if two strings are IRC equal.
-
quit
(message: str = 'Disconnected')¶ Disconnects from IRC and closes the connection. Accepts an optional reason.
-
send
(message_or_command, *parameters, colon: bool = False)¶ Send an IRC message
>>> client.send('JOIN', '#example')
-
send_join
(channel, key: str = None)¶ Sends a JOIN channel command.
>>> client.send_join('#palaver')
-
send_line
(line: str)¶ Sends a raw line to IRC
Example:
>>> client.send_line('PRIVMSG kylef :Hey!')
-
send_part
(channel)¶ Sends a PART channel command.
>>> client.send_part('#palaver')
-
send_privmsg
(target, message: str)¶ Sends a private message to a target.
Example:
>>> client.send_privmsg('kyle', 'Hi') >>> client.send_privmsg(channel, 'Hi')
-
Message¶
-
class
irctk.message.
Message
(tags: List[irctk.message.MessageTag] = None, prefix: str = None, command: str = '', parameters: List[str] = None)¶ -
get
(index: int) → Optional[str]¶ Returns a parameter at index or None
>>> message = Message.parse('JOIN #example') >>> message.get(0) '#example' >>> message.get(1)
-
classmethod
parse
(string: str)¶ Parse an IRC line into a Message instance
>>> message = Message.parse(':doe!doe@example.com PRIVMSG #example :Hello World') >>> message.prefix 'doe!doe@example.com' >>> message.command 'PRIVMSG' >>> message.parameters ['#example', 'Hello World']
-
-
class
irctk.message.
MessageTag
(vendor: str = None, name: str = None, value: str = None)¶
Support¶
-
class
irctk.isupport.
ISupport
¶ -
case_mapping
¶ Returns the case mapping.
Example:
>>> support.case_mapping 'rfc1459'
-
channel_prefixes
¶ Returns a list of channel prefixes.
Example:
>>> support.channel_prefixes ['#', '&']
-
is_channel
(channel_name) → bool¶ Returns True if supplied channel name is a valid channel name.
Example:
>>> support.is_channel('#darkscience') True >>> support.is_channel('kylef') False
-
maximum_channel_length
¶ Returns the maximum length of a channel name.
Example:
>>> support.maximum_channel_length 200
-
maximum_nick_length
¶ Returns the maximum length of a nickname.
Example:
>>> support.maximum_nick_length 9
-
Numerics¶
RFC1459¶
Error Replies¶
-
irctk.numerics.
ERR_NOSUCHNICK
= 401¶
-
irctk.numerics.
ERR_NOSUCHSERVER
= 402¶
-
irctk.numerics.
ERR_NOSUCHCHANNEL
= 403¶
-
irctk.numerics.
ERR_CANNOTSENDTOCHAN
= 404¶
-
irctk.numerics.
ERR_TOOMANYCHANNELS
= 405¶
-
irctk.numerics.
ERR_WASNOSUCHNICK
= 406¶
-
irctk.numerics.
ERR_TOOMANYTARGETS
= 407¶
-
irctk.numerics.
ERR_NOORIGIN
= 409¶
-
irctk.numerics.
ERR_NORECIPIENT
= 411¶
-
irctk.numerics.
ERR_NOTEXTTOSEND
= 412¶
-
irctk.numerics.
ERR_NOTOPLEVEL
= 413¶
-
irctk.numerics.
ERR_WILDTOPLEVEL
= 414¶
-
irctk.numerics.
ERR_UNKNOWNCOMMAND
= 421¶
-
irctk.numerics.
ERR_NOMOTD
= 422¶
-
irctk.numerics.
ERR_NOADMININFO
= 423¶
-
irctk.numerics.
ERR_FILEERROR
= 424¶
-
irctk.numerics.
ERR_NONICKNAMEGIVEN
= 431¶
-
irctk.numerics.
ERR_ERRONEUSNICKNAME
= 432¶
-
irctk.numerics.
ERR_NICKNAMEINUSE
= 433¶
-
irctk.numerics.
ERR_NICKCOLLISION
= 436¶
-
irctk.numerics.
ERR_USERNOTINCHANNEL
= 441¶
-
irctk.numerics.
ERR_NOTONCHANNEL
= 442¶
-
irctk.numerics.
ERR_USERONCHANNEL
= 443¶
-
irctk.numerics.
ERR_NOLOGIN
= 444¶
-
irctk.numerics.
ERR_SUMMONDISABLED
= 445¶
-
irctk.numerics.
ERR_USERSDISABLED
= 446¶
-
irctk.numerics.
ERR_NOTREGISTERED
= 451¶
-
irctk.numerics.
ERR_NEEDMOREPARAMS
= 461¶
-
irctk.numerics.
ERR_ALREADYREGISTRED
= 462¶
-
irctk.numerics.
ERR_NOPERMFORHOST
= 463¶
-
irctk.numerics.
ERR_PASSWDMISMATCH
= 464¶
-
irctk.numerics.
ERR_YOUREBANNEDCREEP
= 465¶
-
irctk.numerics.
ERR_KEYSET
= 467¶
-
irctk.numerics.
ERR_CHANNELISFULL
= 471¶
-
irctk.numerics.
ERR_UNKNOWNMODE
= 472¶
-
irctk.numerics.
ERR_INVITEONLYCHAN
= 473¶
-
irctk.numerics.
ERR_BANNEDFROMCHAN
= 474¶
-
irctk.numerics.
ERR_BADCHANNELKEY
= 475¶
-
irctk.numerics.
ERR_NOPRIVILEGES
= 481¶
-
irctk.numerics.
ERR_CHANOPRIVSNEEDED
= 482¶
-
irctk.numerics.
ERR_CANTKILLSERVER
= 483¶
-
irctk.numerics.
ERR_NOOPERHOST
= 491¶
-
irctk.numerics.
ERR_UMODEUNKNOWNFLAG
= 501¶
-
irctk.numerics.
ERR_USERSDONTMATCH
= 502¶
Command Responses¶
-
irctk.numerics.
RPL_NONE
= 300¶
-
irctk.numerics.
RPL_USERHOST
= 302¶
-
irctk.numerics.
RPL_ISON
= 303¶
-
irctk.numerics.
RPL_AWAY
= 301¶
-
irctk.numerics.
RPL_UNAWAY
= 305¶
-
irctk.numerics.
RPL_NOWAWAY
= 306¶
-
irctk.numerics.
RPL_WHOISUSER
= 311¶
-
irctk.numerics.
RPL_WHOISSERVER
= 312¶
-
irctk.numerics.
RPL_WHOISOPERATOR
= 313¶
-
irctk.numerics.
RPL_WHOISIDLE
= 317¶
-
irctk.numerics.
RPL_ENDOFWHOIS
= 318¶
-
irctk.numerics.
RPL_WHOISCHANNELS
= 319¶
-
irctk.numerics.
RPL_WHOWASUSER
= 314¶
-
irctk.numerics.
RPL_ENDOFWHOWAS
= 369¶
-
irctk.numerics.
RPL_LISTSTART
= 321¶
-
irctk.numerics.
RPL_LIST
= 322¶
-
irctk.numerics.
RPL_LISTEND
= 323¶
-
irctk.numerics.
RPL_CHANNELMODEIS
= 324¶
-
irctk.numerics.
RPL_NOTOPIC
= 331¶
-
irctk.numerics.
RPL_TOPIC
= 332¶
-
irctk.numerics.
RPL_INVITING
= 341¶
-
irctk.numerics.
RPL_SUMMONING
= 342¶
-
irctk.numerics.
RPL_VERSION
= 351¶
-
irctk.numerics.
RPL_WHOREPLY
= 352¶
-
irctk.numerics.
RPL_ENDOFWHO
= 315¶
-
irctk.numerics.
RPL_NAMREPLY
= 353¶
-
irctk.numerics.
RPL_ENDOFNAMES
= 366¶
-
irctk.numerics.
RPL_LINKS
= 364¶
-
irctk.numerics.
RPL_ENDOFLINKS
= 365¶
-
irctk.numerics.
RPL_BANLIST
= 367¶
-
irctk.numerics.
RPL_ENDOFBANLIST
= 368¶
-
irctk.numerics.
RPL_INFO
= 371¶
-
irctk.numerics.
RPL_ENDOFINFO
= 374¶
-
irctk.numerics.
RPL_MOTDSTART
= 375¶
-
irctk.numerics.
RPL_MOTD
= 372¶
-
irctk.numerics.
RPL_ENDOFMOTD
= 376¶
-
irctk.numerics.
RPL_YOUREOPER
= 381¶
-
irctk.numerics.
RPL_REHASHING
= 382¶
-
irctk.numerics.
RPL_TIME
= 391¶
-
irctk.numerics.
RPL_USERSSTART
= 392¶
-
irctk.numerics.
RPL_USERS
= 393¶
-
irctk.numerics.
RPL_ENDOFUSERS
= 394¶
-
irctk.numerics.
RPL_NOUSERS
= 395¶
-
irctk.numerics.
RPL_TRACELINK
= 200¶
-
irctk.numerics.
RPL_TRACECONNECTING
= 201¶
-
irctk.numerics.
RPL_TRACEHANDSHAKE
= 202¶
-
irctk.numerics.
RPL_TRACEUNKNOWN
= 203¶
-
irctk.numerics.
RPL_TRACEOPERATOR
= 204¶
-
irctk.numerics.
RPL_TRACEUSER
= 205¶
-
irctk.numerics.
RPL_TRACESERVER
= 206¶
-
irctk.numerics.
RPL_TRACENEWTYPE
= 208¶
-
irctk.numerics.
RPL_TRACELOG
= 261¶
-
irctk.numerics.
RPL_STATSLINKINFO
= 211¶
-
irctk.numerics.
RPL_STATSCOMMANDS
= 212¶
-
irctk.numerics.
RPL_STATSCLINE
= 213¶
-
irctk.numerics.
RPL_STATSNLINE
= 214¶
-
irctk.numerics.
RPL_STATSILINE
= 215¶
-
irctk.numerics.
RPL_STATSKLINE
= 216¶
-
irctk.numerics.
RPL_STATSYLINE
= 218¶
-
irctk.numerics.
RPL_ENDOFSTATS
= 219¶
-
irctk.numerics.
RPL_STATSLLINE
= 241¶
-
irctk.numerics.
RPL_STATSUPTIME
= 242¶
-
irctk.numerics.
RPL_STATSOLINE
= 243¶
-
irctk.numerics.
RPL_STATSHLINE
= 244¶
-
irctk.numerics.
RPL_UMODEIS
= 221¶
-
irctk.numerics.
RPL_LUSERCLIENT
= 251¶
-
irctk.numerics.
RPL_LUSEROP
= 252¶
-
irctk.numerics.
RPL_LUSERUNKNOWN
= 253¶
-
irctk.numerics.
RPL_LUSERCHANNELS
= 254¶
-
irctk.numerics.
RPL_LUSERME
= 255¶
-
irctk.numerics.
RPL_ADMINME
= 256¶
-
irctk.numerics.
RPL_ADMINLOC1
= 257¶
-
irctk.numerics.
RPL_ADMINLOC2
= 258¶
-
irctk.numerics.
RPL_ADMINEMAIL
= 259¶