Direct Client Connection protocol type CHAT.

DCC CHAT is really just your run o' the mill basic.LineReceiver protocol. This class only varies from that slightly, accepting either LF or CR LF for a line delimeter for incoming messages while always using CR LF for outgoing.

The lineReceived method implemented here uses the DCC connection's 'client' attribute (provided upon construction) to deliver incoming lines from the DCC chat via IRCClient's normal privmsg interface. That's something of a spoof, which you may well want to override.

Method __init__ Initialize a new DCC CHAT session.
Method dataReceived Protocol.dataReceived. Translates bytes into lines, and calls lineReceived (or rawDataReceived, depending on mode.)
Method lineReceived Override this for when each line is received.

Inherited from Ephemeral:

Method __reduce__ Serialize any subclass of Ephemeral in a way which replaces it with Ephemeral itself.
Method __getstate__ Undocumented
Method __setstate__ Undocumented

Inherited from Ephemeral:

Method __reduce__ Serialize any subclass of Ephemeral in a way which replaces it with Ephemeral itself.
Method __getstate__ Undocumented
Method __setstate__ Undocumented

Inherited from Ephemeral:

Method __reduce__ Serialize any subclass of Ephemeral in a way which replaces it with Ephemeral itself.
Method __getstate__ Undocumented
Method __setstate__ Undocumented

Inherited from Ephemeral:

Method __reduce__ Serialize any subclass of Ephemeral in a way which replaces it with Ephemeral itself.
Method __getstate__ Undocumented
Method __setstate__ Undocumented

Inherited from Ephemeral:

Method __reduce__ Serialize any subclass of Ephemeral in a way which replaces it with Ephemeral itself.
Method __getstate__ Undocumented
Method __setstate__ Undocumented
def __init__(self, client, queryData=None): (source)

Initialize a new DCC CHAT session.

queryData is a 3-tuple of (fromUser, targetUserOrChannel, data) as received by the CTCP query.

(To be honest, fromUser is the only thing that's currently used here. targetUserOrChannel is potentially useful, while the 'data' argument is soley for informational purposes.)

def dataReceived(self, data): (source)

Protocol.dataReceived. Translates bytes into lines, and calls lineReceived (or rawDataReceived, depending on mode.)

def lineReceived(self, line): (source)

Override this for when each line is received.

ParameterslineThe line which was received with the delimiter removed. (type: bytes)
API Documentation for Twisted, generated by pydoctor at 2015-09-04 15:29:41.