Package twisted :: Package protocols :: Module irc :: Class IRC
[frames | no frames]

Class IRC

BaseProtocol --+    
               |    
        Protocol --+
                   |
                  IRC

Known Subclasses:
IRCChatter, IRCUserInterface

Internet Relay Chat server protocol.
Method Summary
  action(self, sender, recip, message)
Send an action to a channel or user.
  connectionMade(self)
Called when a connection is made.
  dataReceived(self, data)
This hack is to support mIRC, which sends LF only, even though the RFC says CRLF.
  handleCommand(self, command, prefix, params)
Determine the function to call for the given command and call it with the given arguments.
  irc_unknown(self, prefix, command, params)
Implement me!
  join(self, who, where)
Send a join message.
  names(self, user, channel, names)
Send the names of a channel's participants to a user.
  notice(self, sender, recip, message)
Send a "notice" to a channel or user.
  part(self, who, where)
Send a part message.
  privmsg(self, sender, recip, message)
Send a message to a channel or user
  sendLine(self, line)
  sendMessage(self, command, *parameter_list, **prefix)
Send a line formatted as an IRC message.
  topic(self, user, channel, topic, author)
Send the topic to a user.
    Inherited from Protocol
  connectionFailed(self)
(Deprecated)
  connectionLost(self, reason)
Called when the connection is shut down.
    Inherited from BaseProtocol
  makeConnection(self, transport)
Make a connection to a transport and a server.

Class Variable Summary
str buffer = ''
NoneType hostname = None                                                                  
    Inherited from Protocol
tuple __implements__ = (<class twisted.internet.interfaces.IPr...
    Inherited from BaseProtocol
int connected = 0                                                                     
NoneType transport = None                                                                  

Method Details

action(self, sender, recip, message)

Send an action to a channel or user.
Parameters:
sender - Who is sending this message. Should be of the form username!ident@hostmask (unless you know better!).
           (type=str)
recip - The recipient of this message. If a channel, it must start with a channel prefix.
           (type=str)
message - The action being sent.
           (type=str)

connectionMade(self)

Called when a connection is made.

This may be considered the initializer of the protocol, because it is called when the connection is completed. For clients, this is called once the connection to the server has been established; for servers, this is called after an accept() call stops blocking and a socket has been received. If you need to send any greeting or initial message, do it here.
Overrides:
twisted.internet.protocol.BaseProtocol.connectionMade (inherited documentation)

dataReceived(self, data)

This hack is to support mIRC, which sends LF only, even though the RFC says CRLF. (Also, the flexibility of LineReceiver to turn "line mode" on and off was not required.)
Overrides:
twisted.internet.protocol.Protocol.dataReceived

handleCommand(self, command, prefix, params)

Determine the function to call for the given command and call it with the given arguments.

irc_unknown(self, prefix, command, params)

Implement me!

join(self, who, where)

Send a join message.
Parameters:
who - The name of the user joining. Should be of the form username!ident@hostmask (unless you know better!).
           (type=str)
where - The channel the user is joining.
           (type=str)

names(self, user, channel, names)

Send the names of a channel's participants to a user.
Parameters:
user - The user receiving the topic. Only their nick name, not the full hostmask.
           (type=str)
channel - The channel for which this is the topic.
           (type=str)
names - The names to send.
           (type=list of str)

notice(self, sender, recip, message)

Send a "notice" to a channel or user.

Notices differ from privmsgs in that the RFC claims they are different. Robots are supposed to send notices and not respond to them. Clients typically display notices differently from privmsgs.
Parameters:
sender - Who is sending this message. Should be of the form username!ident@hostmask (unless you know better!).
           (type=str)
recip - The recipient of this message. If a channel, it must start with a channel prefix.
           (type=str)
message - The message being sent.
           (type=str)

part(self, who, where)

Send a part message.
Parameters:
who - The name of the user joining. Should be of the form username!ident@hostmask (unless you know better!).
           (type=str)
where - The channel the user is joining.
           (type=str)

privmsg(self, sender, recip, message)

Send a message to a channel or user
Parameters:
sender - Who is sending this message. Should be of the form username!ident@hostmask (unless you know better!).
           (type=str)
recip - The recipient of this message. If a channel, it must start with a channel prefix.
           (type=str)
message - The message being sent.
           (type=str)

sendMessage(self, command, *parameter_list, **prefix)

Send a line formatted as an IRC message.

First argument is the command, all subsequent arguments are parameters to that command. If a prefix is desired, it may be specified with the keyword argument 'prefix'.

topic(self, user, channel, topic, author=None)

Send the topic to a user.
Parameters:
user - The user receiving the topic. Only their nick name, not the full hostmask.
           (type=str)
channel - The channel for which this is the topic.
           (type=str)
topic - The topic string.
           (type=str)
author - If the topic is being changed, the full username and hostmask of the person changing it.
           (type=str)

Class Variable Details

buffer

Type:
str
Value:
''                                                                     

hostname

Type:
NoneType
Value:
None                                                                  

Generated by Epydoc 2.0 on Sat May 15 20:08:50 2004 http://epydoc.sf.net