t.w.p.irc : module documentation

Part of twisted.words.protocols View Source

Internet Relay Chat Protocol for client and server.

Future Plans

The way the IRCClient class works here encourages people to implement IRC clients by subclassing the ephemeral protocol class, and it tends to end up with way more state than it should for an object which will be destroyed as soon as the TCP transport drops. Someone oughta do something about that, ya know?

The DCC support needs to have more hooks for the client for it to be able to ask the user things like "Do you want to accept this session?" and "Transfer #2 is 67% done." and otherwise manage the DCC sessions.

Test coverage needs to be better.
AuthorKevin Turner
See AlsoRFC 1459: Internet Relay Chat Protocol
RFC 2812: Internet Relay Chat: Client Protocol
The Client-To-Client-Protocol
Class IRCBadMessage Undocumented
Class IRCPasswordMismatch Undocumented
Function parsemsg Breaks a message from an IRC server into its prefix, command, and arguments.
Function split I break a message into multiple lines.
Class IRC Internet Relay Chat server protocol.
Class IRCClient Internet Relay Chat client protocol, with sprinkles.
Function dccParseAddress Undocumented
Class DccFileReceiveBasic Bare protocol to receive a Direct Client Connection SEND stream.
Class DccSendProtocol Protocol for an outgoing Direct Client Connection SEND.
Class DccSendFactory Undocumented
Function fileSize I'll try my damndest to determine the size of this file object.
Class DccChat Direct Client Connection protocol type CHAT.
Class DccChatFactory Undocumented
Function dccDescribe Given the data chunk from a DCC query, return a descriptive string.
Class DccFileReceive Higher-level coverage for getting a file from DCC SEND.
Function ctcpExtract Extract CTCP data from a string.
Function lowQuote Undocumented
Function lowDequote Undocumented
Function ctcpQuote Undocumented
Function ctcpDequote Undocumented
Function ctcpStringify
def parsemsg(s): (source)
Breaks a message from an IRC server into its prefix, command, and arguments.
def split(str, length=80): (source)

I break a message into multiple lines.

I prefer to break at whitespace near str[length]. I also break at \n.
Returnslist of strings
def dccParseAddress(address): (source)
Undocumented
def fileSize(file): (source)
I'll try my damndest to determine the size of this file object.
def dccDescribe(data): (source)
Given the data chunk from a DCC query, return a descriptive string.
def ctcpExtract(message): (source)

Extract CTCP data from a string.

Returns a dictionary with two items:
  • 'extended': a list of CTCP (tag, data) tuples
  • 'normal': a list of strings which were not inside a CTCP delimeter
def lowQuote(s): (source)
Undocumented
def lowDequote(s): (source)
Undocumented
def ctcpQuote(s): (source)
Undocumented
def ctcpDequote(s): (source)
Undocumented
def ctcpStringify(messages): (source)
Parametersmessages (type: a list of extended messages. An extended message is a (tag, data) tuple, where 'data' may be None, a string, or a list of strings to be joined with whitespace. )
ReturnsString
API Documentation for Twisted, generated by pydoctor at 2011-10-27 15:57:47.