irc(n) 0.4 irc "Low Level Tcl IRC Interface"
irc - Create IRC connection and interface.
package require Tcl
package require irc ?0.4?
This package provides low-level commands to deal with the IRC protocol
(Internet Relay Chat) for immediate and interactive multi-cast
communication.
- ::irc::config key value
-
Sets configuration key to value. Currently, the only
config key defined is the boolean flag debug which, when
turned on, makes irc print more information about what is
going on.
- ::irc::connection
-
The command creates a new object to deal with an IRC connection.
Creating this IRC object does not automatically create the network
connection. It returns a new irc namespace command which can be used
to interact with the new IRC connection. NOTE: the old form of the
connection command, which took a hostname and port as arguments, is
deprecated. Use connect instead to specify this information.
- ::irc::connections
-
Returns a list of all the current connections that were created with
connection
- ::irc::destroy net
-
Deletes a connection and its associated namespace and information.
In the following list of available connection methods net
represents a connection command as returned by
::irc::connection.
- net registerevent event script
-
Registers a callback handler for the specific event. Events available
are those described in the IRC RFC: 1459. In addition, there are
several other events defined. defaultcmd adds a command
that is called if no other callback is present. EOF is
called if the connection signals an End of File condition. The events
defaultcmd, defaultnumeric, and defaultevent are
required.
script is executed in the connection namespace, which can take
advantage of several commands (see Callback Commands
below) to aid in the parsing of data.
- net getevent event script
-
Returns the current handler for the event if one exists. Otherwise an
empty string is returned.
- net eventexists event script
-
Returns a boolean value indicating the existance of the event handler.
- net connect hostname ?port?
-
This causes the socket to be established. ::irc::connection
created the namespace and the commands to be used, but did not
actually open the socket. This is done here. NOTE: the older form of
'connect' did not require the user to specify a hostname and port,
which were specified with 'connection'. That form is deprecated.
- net connected
-
Returns a boolean value indicating if this connection is connected to a server.
- net sockname
-
Returns a 3 element list consisting of the ip address, the hostname, and the port
of the local end of the connection, if currently connected.
- net peername
-
Returns a 3 element list consisting of the ip address, the hostname, and the port
of the remote end of the connection, if currently connected.
- net user username localhostname localdomainname userinfo
-
Sends USER command to server. username is the username you want
to appear. localhostname is the host portion of your hostname, localdomainname
is your domain name, and userinfo is a short description of who you are. The 2nd and 3rd
arguments are normally ignored by the IRC server.
- net nick nick
-
NICK command. nick is the nickname you wish to use for the
particular connection.
- net ping target
-
Send a CTCP PING to target.
- net serverping
-
PING the server.
- net join channel ?key?
-
channel is the IRC channel to join. IRC channels typically
begin with a hashmark ("#") or ampersand ("&").
- net part channel
-
Makes the client leave channel.
- net quit ?message?
-
Instructs the IRC server to close the current connection
with the message ?message?
- net privmsg target message
-
Sends message to target, which can be either a channel, or
another user, in which case their nick is used.
- net notice target message
-
Sends a notice with message message to target,
which can be either a channel, or another user, in which case their nick is used.
- net ctcp target message
-
Sends a CTCP of type message to target
- net kick channel target ?message?
-
Kicks the user target from the channel channel with a message ?message?
- net mode target args
-
Sets the mode args on the target target. target may be a channel,
a channel user, or yourself.
- net topic channel ?message?
-
Sets the topic on channel to ?message? or removes the topic
if no message is specified
- net invite channel target
-
Invites target to join the channel channel
- net send text
-
Sends text to the IRC server.
These commands can be used within callbacks
- who ?address?
-
Returns the nick of the user who performed a command. The optional
keyword address causes the command to return the user in the
format "username@address".
- action
-
Returns the action performed, such as KICK, PRIVMSG, MODE, etc...
Normally not useful, as callbacks are bound to a particular event.
- target
-
Returns the target of a particular command, such as the channel or
user to whom a PRIVMSG is sent.
- additional
-
Returns a list of any additional arguments after the target.
- header
-
Returns the entire event header (everything up to the :) as a proper list.
- msg
-
Returns the message portion of the command (the part after the :).
rfc 1459
chat, irc