Table of Contents

Class: IRCClient | Twisted-0.17.4/twisted/protocols/irc.py
--- | ---

### Internet Relay Chat client protocol, with sprinkles.

In addition to providing an interface for an IRC client protocol, this class also contains reasonable implementations of many common CTCP methods.

TODO: Login for IRCnets which require a PASS Limit the length of messages sent (because the IRC server probably does). Add flood protection/rate limiting for my CTCP replies. NickServ cooperation. (a mix-in?)

Base Classes |
--- | ---
basic.LineReceiver

Methods |
--- | ---

__getstate__
action
away
badMessage
connectionMade
ctcpMakeQuery
ctcpMakeReply
ctcpQuery
ctcpQuery_ACTION
ctcpQuery_CLIENTINFO
ctcpQuery_DCC
ctcpQuery_ERRMSG
ctcpQuery_FINGER
ctcpQuery_PING
ctcpQuery_SOURCE
ctcpQuery_TIME
ctcpQuery_USERINFO

ctcpQuery_VERSION
ctcpReply
ctcpReply_PING
ctcpUnknownQuery
ctcpUnknownReply
dccSend
irc_ERR_NICKNAMEINUSE
irc_JOIN
irc_NOTICE
irc_PING
irc_PRIVMSG
irc_RPL_WELCOME
irc_unknown
join
joined
leave
lineReceived

me
msg
notice
noticed
ping
pong
privmsg
quirkyMessage
say
sendLine
setNick
signedOn
topic

| __getstate__

    __getstate__ ( self )

| action

    action (
            self,
            user,
            channel,
            data,
            )

Called when I see a user perform an ACTION on a channel.

| away

    away ( self,  message='' )

| badMessage

    badMessage (
            self,
            line,
            excType,
            excValue,
            tb,
            )

When I get a message that's so broken I can't use it.

| connectionMade

    connectionMade ( self )

| ctcpMakeQuery

    ctcpMakeQuery (
            self,
            user,
            messages,
            )

### Send one or more extended messages as a CTCP query.

`messages` takes a list of extended messages. An extended message is a (tag, data) tuple, where `data` may be None.

| ctcpMakeReply

    ctcpMakeReply (
            self,
            user,
            messages,
            )

### Send one or more extended messages as a CTCP reply.

`messages` takes a list of extended messages. An extended message is a (tag, data) tuple, where `data` may be None.

| ctcpQuery

    ctcpQuery (
            self,
            user,
            channel,
            messages,
            )

Dispatch method for any CTCP queries received.

| ctcpQuery_ACTION

    ctcpQuery_ACTION (
            self,
            user,
            channel,
            data,
            )

| ctcpQuery_CLIENTINFO

    ctcpQuery_CLIENTINFO (
            self,
            user,
            channel,
            data,
            )

### A master index of what CTCP tags this client knows.

If no arguments are provided, respond with a list of known tags. If an argument is provided, provide human-readable help on the usage of that tag.

| ctcpQuery_DCC

    ctcpQuery_DCC (
            self,
            user,
            channel,
            data,
            )

### Initiate a Direct Client Connection

Supported connection types: SEND, CHAT

Exceptions |
--- | ---
IRCBadMessage, "Indecipherable address '%s'" %( address, ) IRCBadMessage, "malformed DCC request: %s" %( data, )

| ctcpQuery_ERRMSG

    ctcpQuery_ERRMSG (
            self,
            user,
            channel,
            data,
            )

| ctcpQuery_FINGER

    ctcpQuery_FINGER (
            self,
            user,
            channel,
            data,
            )

| ctcpQuery_PING

    ctcpQuery_PING (
            self,
            user,
            channel,
            data,
            )

| ctcpQuery_SOURCE

    ctcpQuery_SOURCE (
            self,
            user,
            channel,
            data,
            )

| ctcpQuery_TIME

    ctcpQuery_TIME (
            self,
            user,
            channel,
            data,
            )

| ctcpQuery_USERINFO

    ctcpQuery_USERINFO (
            self,
            user,
            channel,
            data,
            )

| ctcpQuery_VERSION

    ctcpQuery_VERSION (
            self,
            user,
            channel,
            data,
            )

| ctcpReply

    ctcpReply (
            self,
            user,
            channel,
            messages,
            )

Dispatch method for any CTCP replies received.

| ctcpReply_PING

    ctcpReply_PING (
            self,
            user,
            channel,
            data,
            )

Exceptions |
--- | ---
IRCBadMessage, "Bogus PING response from %s: %s" %( user, data )

| ctcpUnknownQuery

    ctcpUnknownQuery (
            self,
            user,
            channel,
            tag,
            data,
            )

| ctcpUnknownReply

    ctcpUnknownReply (
            self,
            user,
            channel,
            tag,
            data,
            )

### Called when a fitting ctcpReply_ method is not found.

XXX: If the client makes arbitrary CTCP queries, this method should probably show the responses to them instead of treating them as anomolies.

| dccSend

    dccSend (
            self,
            user,
            file,
            )

Exceptions |
--- | ---
NotImplementedError, ( "XXX!!! Help! I need to bind a socket, have it listen, and tell me its address. " "(and stop accepting once we've made a single connection.)" )

| irc_ERR_NICKNAMEINUSE

    irc_ERR_NICKNAMEINUSE (
            self,
            prefix,
            params,
            )

| irc_JOIN

    irc_JOIN (
            self,
            prefix,
            params,
            )

| irc_NOTICE

    irc_NOTICE (
            self,
            prefix,
            params,
            )

| irc_PING

    irc_PING (
            self,
            prefix,
            params,
            )

| irc_PRIVMSG

    irc_PRIVMSG (
            self,
            prefix,
            params,
            )

| irc_RPL_WELCOME

    irc_RPL_WELCOME (
            self,
            prefix,
            params,
            )

| irc_unknown

    irc_unknown (
            self,
            prefix,
            command,
            params,
            )

| join

    join (
            self,
            channel,
            key=None,
            )

| joined

    joined ( self,  channel )

### Called when I finish joining a channel.

channel has the starting character (# or &) intact.

| leave

    leave (
            self,
            channel,
            reason=None,
            )

| lineReceived

    lineReceived ( self,  line )

| me

    me (
            self,
            channel,
            action,
            )

Strike a pose.

| msg

    msg (
            self,
            user,
            message,
            )

| notice

    notice (
            self,
            user,
            message,
            )

| noticed

    noticed (
            self,
            user,
            channel,
            message,
            )

### Called when I have a notice from a user to me or a channel.

By default, this is equivalent to IRCClient.privmsg, but if your client makes any automated replies, you must override this! From the RFC:

The difference between NOTICE and PRIVMSG is that automatic replies MUST NEVER be sent in response to a NOTICE message. [...] The object of this rule is to avoid loops between clients automatically sending something in response to something it received.

| ping

    ping ( self,  user )

Measure round-trip delay to another IRC client.

| pong

    pong (
            self,
            user,
            secs,
            )

Called with the results of a CTCP PING query.

| privmsg

    privmsg (
            self,
            user,
            channel,
            message,
            )

Called when I have a message from a user to me or a channel.

| quirkyMessage

    quirkyMessage ( self,  s )

This is called when I receive a message which is peculiar, but not wholly indecipherable.

| say

    say (
            self,
            channel,
            message,
            )

| sendLine

    sendLine ( self,  line )

| setNick

    setNick ( self,  nickname )

| signedOn

    signedOn ( self )

Called after sucessfully signing on to the server.

| topic

    topic (
            self,
            channel,
            topic,
            )

Table of Contents

This document was automatically generated on Sat Apr 20 01:31:04 2002 by HappyDoc version 2.0