Up
Authors
- Andrew Ruder (
aeruder@ksu.edu
)
-
Version: Revision 1
Date: November 8, 2003
Copyright: (C) Andrew Ruder
- Declared in:
- IRCObject.h
IRCObject handles all aspects of an IRC
connection. In almost all cases, you will want
to override this class and implement just the callback
methods specified in
IRCObject(Callbacks)
to handle everything.
A lot of arguments may not contain spaces. The general
procedure on processing these arguments is that
the method will cut the string off at the first space
and use the part of the string before the space and
fail only if that string is still invalid. Try to
avoid passing strings with spaces as the arguments
to the methods that warn not to.
Instance Variables
Method summary
- (id)
areUsersOn: (NSString*)userList;
Requests information on the precense of certain
nicknames listed in userList on the
network. userList is a space separated
list of users. For each user that is present, its name
will be added to the reply through the numeric message
RPL_ISON. See RFC 1459 for more
information on the ISON message.
- (id)
becomeOperatorWithName: (NSString*)aName
withPassword: (NSString*)aPassword;
This method attempts to become an IRC operator with
name aName and password
aPassword. Neither may contain spaces.
This is a totally different concept than channel
operators since it refers to operators of the
server as a whole. Please see RFC 1459 for more
information on the OPER command.
- (NSComparisonResult)
caseInsensitiveCompare: (NSString*)aString1
to: (NSString*)aString2;
Use the lowercasingSelector to compare two strings.
Returns a NSComparisonResult (NSOrderedAscending,
NSOrderedSame or NSOrderedDescending)
- (id)
changeNick: (NSString*)aNick;
Sets the nickname to the
aNick. This method
is quite similar to
-setNick:
but this will also actually send the nick change
request to the server if connected, and will only
affect the nickname stored by the object (which is
returned with -nick) if the the name change was
successful or the object is not yet
registered/connected. Please see RFC
1459 for more information on the NICK command.
- (BOOL)
connected;
Returns YES
when the IRC object is
fully connected and registered with the IRC server.
Returns NO
if the connection has not
made or this connection has not fully registered with
the server.
- (NSStringEncoding)
encoding;
Returns the encoding currently being used by the
connection.
- (NSStringEncoding)
encodingForTarget: (NSString*)aTarget;
Return the encoding for aTarget.
- (NSString*)
errorString;
Returns a string that describes the last error that
happened.
- (id)
initWithNickname: (NSString*)aNickname
withUserName: (NSString*)aUser
withRealName: (NSString*)aRealName
withPassword: (NSString*)aPassword;
This is a designated initialiser for the class.
- (id)
invite: (NSString*)aPerson
to: (NSString*)aChannel;
This message will invite aPerson to the
channel specified by aChannel. Neither
may contain spaces and both are required. Please refer
to RFC 1459 concerning the INVITE command for additional
information.
- (id)
joinChannel: (NSString*)aChannel
withPassword: (NSString*)aPassword;
Joins the channel aChannel with an
optional password of aPassword. Neither
may contain spaces, and both may be comma separated for
multiple channels/passwords. If there is one or
more passwords, it should match the number of channels
specified by aChannel. Please see RFC
1459 for more information on the JOIN command.
- (id)
kick: (NSString*)aPerson
offOf: (NSString*)aChannel
for: (NSString*)aReason;
Kicks the user aPerson off of the channel
aChannel for the reason specified in
aReason. aReason may contain
spaces and is optional. If omitted the server will
most likely supply a default message.
aPerson and aChannel are
required and may not contain spaces. Please see
the KICK command for additional information in RFC
1459.
- (id)
kill: (NSString*)aPerson
withComment: (NSString*)aComment;
Used to kill the connection to aPerson with
a possible comment aComment. This is often
used by servers when duplicate nicknames are found and
may be available to the IRC operators.
aComment is optional and
aPerson may not contain spaces. Please see
RFC 1459 for additional information on the KILL
command.
- (id)
listChannel: (NSString*)aChannel
onServer: (NSString*)aServer;
Lists channel information about the channel specified
by aChannel on the server aServer.
aChannel may be a comma separated list and
may not contain spaces. aServer is optional.
If aChannel is omitted, then all channels on
the server will be listed. Please refer to RFC 1459 for
additional information on the LIST command.
- (id)
listWho: (NSString*)aMask
onlyOperators: (BOOL)operators;
Requests a list of users with a matching mask
aMask against their username and/or host.
This can optionally be done just against the IRC
operators. The mask aMask is
optional and may not contain spaces. Please see
RFC 1459 for more information regarding the WHO
message.
- (SEL)
lowercasingSelector;
Return the lowercasing selector. See
-setLowercasingSelector:
for more information on the use of this lowercasing
selector.
- (NSString*)
nick;
Returns the nickname that this object will use on
connecting next time.
- (id)
partChannel: (NSString*)aChannel
withMessage: (NSString*)aMessage;
Leaves the channel aChannel with the
optional message aMessage.
aMessage may contain spaces, and
aChannel may not. aChannel may
also be a comma separated list of channels. Please see
RFC 1459 for more information on the PART command.
- (NSString*)
password;
Returns the password that will be used upon the
next connection to a IRC server.
- (id)
quitWithMessage: (NSString*)aMessage;
Quits IRC with an optional message.
aMessage can have spaces. If
aMessage is nil
or
zero-length, the server will often provide its
own message. Please see RFC 1459 for more information
on the QUIT command.
- (NSString*)
realName;
Returns the real name that will be used upon the
next connection.
- (void)
removeEncodingForTarget: (NSString*)aTarget;
Remove the encoding for aTarget.
- (id)
requestAdministratorOnServer: (NSString*)aServer;
Request the name of the administrator on the
optional server aServer.
aServer may not contain spaces. Please see
RFC 1459 for more information on the ADMIN command.
- (id)
requestInfoOnServer: (NSString*)aServer;
Requests information on a server
aServer. aServer is optional
and may not contain spaces. Please see RFC 1459 for
more information on the INFO command.
- (id)
requestMOTDOnServer: (NSString*)aServer;
Requests the Message-Of-The-Day from server
aServer. aServer is optional
and may not contain spaces if present. The message of
the day is returned through the RPL_MOTD
numeric command.
- (id)
requestNamesOnChannel: (NSString*)aChannel;
Requests the names on a channel
aChannel. If aChannel is not
specified, all users in all channels will be
returned. The information will be returned via a
RPL_NAMREPLY numeric message. See the RFC
1459 for more information on the NAMES command.
- (id)
requestServerLink: (NSString*)aLink
from: (NSString*)aServer;
Used to list servers connected to optional
aServer with an optional mask
aLink. Neither may contain spaces. See the
RFC 1459 for more information on the LINKS command.
- (id)
requestServerRehash;
Used to request that the current server reread its
configuration files. Please see RFC 1459 for
more information on the REHASH command.
- (id)
requestServerRestart;
Requests a restart of a server. Please see RFC
1459 for additional information on the RESTART
command.
- (id)
requestServerShutdown;
Used to request a shutdown of a server. Please see RFC
1459 for additional information on the DIE command.
- (id)
requestServerStats: (NSString*)aServer
for: (NSString*)query;
Returns a series of statistics from
aServer. Specific queries can be made with
the optional query argument. Neither may
contain spaces and both are optional. See RFC 1459
for more information on the STATS message
- (id)
requestServerToConnect: (NSString*)aServer
to: (NSString*)connectServer
onPort: (NSString*)aPort;
Requests that aServer connects to
connectServer on port aPort.
aServer and aPort are optional
and none may contain spaces. See RFC 1459 for more
information on the CONNECT command.
- (id)
requestSizeInformationFromServer: (NSString*)aServer
andForwardTo: (NSString*)anotherServer;
Requests size information from an optional
aServer and optionally forwards it to
anotherServer. See RFC 1459 for more
information on the LUSERS command
- (id)
requestTimeOnServer: (NSString*)aServer;
Requests the local time from the optional server
aServer. aServer may not
contain spaces. See RFC 1459 for more information
on the TIME command.
- (id)
requestTraceOnServer: (NSString*)aServer;
This message will request the route to a specific
server from a client. aServer is optional
and may not contain spaces; please see RFC 1459 for
more information on the TRACE command.
- (id)
requestUserInfoOnServer: (NSString*)aServer;
Requests a list of users logged into
aServer. aServer is optional
and may contain spaces. Please see RFC 1459 for
additional information on the USERS message.
- (id)
requestVersionOfServer: (NSString*)aServer;
Queries the version of optional aServer.
Please see RFC 1459 for more information on the
VERSION command.
- (id)
sendAction: (NSString*)anAction
to: (NSString*)aReceiver;
Sends an action anAction to the receiver
aReceiver. This is similar to a message
but will often be displayed such as:
<nick> <anAction>
and can be used effectively to display things that you
are doing rather than saying.
anAction may contain spaces.
- (id)
sendCTCPReply: (NSString*)aCTCP
withArgument: (NSString*)args
to: (NSString*)aPerson;
Sends a CTCP
aCTCP reply to
aPerson with the argument
args.
args may contain spaces and is optional
while the rest may not. This method should be used to
respond to a CTCP message sent by another client.
See
-sendCTCPRequest:withArgument:to:
- (id)
sendCTCPRequest: (NSString*)aCTCP
withArgument: (NSString*)args
to: (NSString*)aPerson;
Sends a CTCP
aCTCP request to
aPerson with an optional argument
args.
args may contain a space
while the rest may not. This should be used to
request CTCP information from another client and
never for responding. See
-sendCTCPReply:withArgument:to:
- (id)
sendMessage: (NSString*)aMessage
to: (NSString*)aReceiver;
Sends a message aMessage to
aReceiver. aReceiver may be a
nickname or a channel name. aMessage
may contain spaces. This is used to carry out the basic
communication over IRC. Please see RFC 1459
for more information on the PRIVMSG message.
- (id)
sendNotice: (NSString*)aNotice
to: (NSString*)aReceiver;
Sends a notice aNotice to
aReceiver. aReceiver may not
contain a space. This is generally not used except
for system messages and should rarely be used by a
regular client. Please see RFC 1459 for more
information on the NOTICE command.
- (id)
sendPingWithArgument: (NSString*)aString;
Requests a PONG message from the server. The
argument aString is essential but may
contain spaces. The server will respond immediately
with a PONG message with the same argument. This
commnd is rarely needed by a client, but is sent out
often by servers to ensure connectivity of clients.
Please see RFC 1459 for more information on the PING
command.
- (id)
sendPongWithArgument: (NSString*)aString;
Used to respond to a PING message. The argument sent
with the PING message should be the argument specified
by aString. aString is required
and may contain spaces. See RFC 1459 for more
informtion regarding the PONG command.
- (id)
sendWallops: (NSString*)aMessage;
Sends a message to all operators currently online.
The actual implementation may vary from server to
server in regards to who can send and receive it.
aMessage is the message to be sent and may
contain spaces. Please see RFC 1459 for more
information regarding the WALLOPS command.
- (id)
setAwayWithMessage: (NSString*)aMessage;
Sets status to away with the message
aMessage. While away, if a user should
send you a message, aMessage will be
returned to them to explain your absence.
aMessage may contain spaces. If omitted,
the user is marked as being present. Please refer to
the AWAY command in RFC 1459 for additional
information.
- (id)
setEncoding: (NSStringEncoding)aEncoding;
Sets the encoding that will be used for incoming as
well as outgoing messages. aEncoding should
be an 8-bit encoding for a typical IRC server. Uses the
system default by default.
- (id)
setEncoding: (NSStringEncoding)aEncoding
forTarget: (NSString*)aTarget;
Sets the encoding that will be used for incoming as
well as outgoing messages to a specific target.
aEncoding should be an 8-bit encoding for
a typical IRC server. Uses the encoding set with
setEncoding: by default.
- (id)
setLowercasingSelector: (SEL)aSelector;
Set the lowercasing selector. This is the selector that
is called on a NSString to get the lowercase form. Used
to determine if two nicknames are equivalent. Generally
aSelector would be either
@selector(lowercaseString) or
@selector(lowercaseIRCString).
By default, this is lowercaseIRCString but will be
autodetected from the server if possible. It
will be reset to lowercaseIRCString upon reconnection.
- (id)
setMode: (NSString*)aMode
on: (NSString*)anObject
withParams: (NSArray*)aList;
Used to query or set the mode on
anObject
to the mode specified by
aMode. Flags can be
added by adding a '+' to the
aMode string
or removed by adding a '-' to the
aMode
string. These flags may optionally have arguments
specified in
aList and may be applied
to the object specified by
anObject.
Examples:
aMode: @"+i" anObject: @"#gnustep" withParams: nil
sets the channel "#gnustep" to invite only.
aMode: @"+o" anObject: @"#gnustep" withParams: (@"aeruder")
makes aeruder a channel operator of #gnustep
Many servers have differing implementations of these
modes and may have various modes available to users.
None of the arguments may contain spaces. Please refer
to RFC 1459 for additional information on the MODE
message.
- (id)
setNick: (NSString*)aNickname;
Sets the nickname that this object will attempt to use
upon a connection. Do not use this to change the
nickname once the object is connected, this is
only used when it is actually connecting. This method
returns nil
if aNickname is
invalid and will set the error string accordingly.
aNickname is invalid if it contains a
space or is zero-length.
- (id)
setPassword: (NSString*)aPass;
Sets the password that will be used upon connecting to
the IRC server. aPass can be
nil
or zero-length, in which case no
password shall be used. aPass may not
contain a space. Will return nil
and
set the error string if this fails.
- (id)
setRealName: (NSString*)aRealName;
Sets the real name that will be passed to the IRC
server on the next connection. If
aRealName is nil
or
zero-length, the name "John Doe" shall be
used. This method will always succeed.
- (id)
setTopicForChannel: (NSString*)aChannel
to: (NSString*)aTopic;
Sets the topic for channel aChannel to
aTopic. If the aTopic is
omitted, the topic for aChannel will be
returned through the RPL_TOPIC numeric
message. aChannel may not contain
spaces. Please refer to the TOPIC command in RFC
1459 for more information.
- (id)
setUserName: (NSString*)aUser;
Sets the user name that this object will give to the
server upon the next connection. If aUser
is invalid, it will use the user name of "netclasses".
aUser should not contain spaces. This
method will always succeed.
- (NSArray*)
targetsWithEncodings;
Return all targets with a specific encoding.
- (NSString*)
userName;
Returns the user name that will be used upon the
next connection.
- (id)
whois: (NSString*)aPerson
onServer: (NSString*)aServer;
Requests information on a user aPerson.
aPerson may also be a comma separated list
for additional users. aServer is optional
and neither argument may contain spaces. Refer to RFC
1459 for additional information on the WHOIS command.
- (id)
whowas: (NSString*)aPerson
onServer: (NSString*)aServer
withNumberEntries: (NSString*)aNumber;
Requests information on a user aPerson
that is no longer connected to the server
aServer. A possible maximum number of
entries aNumber may be displayed. All
arguments may not contain spaces and
aServer and aNumber are
optional. Please refer to RFC 1459 for more
information regarding the WHOWAS message.
Instance Variables for IRCObject Class
@protected BOOL connected;
Description forthcoming.
@protected NSStringEncoding defaultEncoding;
Description forthcoming.
@protected NSString* errorString;
Description forthcoming.
@protected SEL lowercasingSelector;
Description forthcoming.
@protected NSString* nick;
Description forthcoming.
@protected NSString* password;
Description forthcoming.
@protected NSString* realName;
Description forthcoming.
@protected NSMapTable* targetToEncoding;
Description forthcoming.
@protected NSMutableDictionary* targetToOriginalTarget;
Description forthcoming.
@protected NSString* userName;
Description forthcoming.
- Declared in:
- IRCObject.h
This category represents all the callback methods in
IRCObject. You can override these with a subclass.
All of them do not do anything especially important by
default, so feel free to not call the default
implementation. On any method ending with an
argument like 'from: (NSString *)aString',
aString could be in the format of
nickname!host. Please see the documentation
for
ExtractIRCNick()
,
ExtractIRCHost()
, and
SeparateIRCNickAndHost()
for more information.
Method summary
- (id)
CTCPReplyReceived: (NSString*)aCTCP
withArgument: (NSString*)anArgument
to: (NSString*)aReceiver
from: (NSString*)aPerson;
Called when a CTCP reply has been received. The CTCP
reply type is stored in aCTCP with its
argument in anArgument. The actual
location that the CTCP reply was sent is stored in
aReceiver and the person who sent it is
stored in aPerson.
- (id)
CTCPRequestReceived: (NSString*)aCTCP
withArgument: (NSString*)anArgument
to: (NSString*)aReceiver
from: (NSString*)aPerson;
Called when a CTCP request has been received. The
CTCP request type is stored in aCTCP (could
be such things as DCC, PING, VERSION, etc.) and the
argument is stored in anArgument. The
actual location that the CTCP request is sent is
stored in aReceiver and the person who
sent it is stored in aPerson.
- (id)
actionReceived: (NSString*)anAction
to: (NSString*)aReceiver
from: (NSString*)aSender;
Called when an action has been received. The action
is stored in anAction and the sender is
stored in aSender. The person or channel
that the action is addressed to is stored in
aReceiver.
- (id)
channelJoined: (NSString*)aChannel
from: (NSString*)aJoiner;
Called when someone joins a channel. The channel is
stored in aChannel and the person who
joined is stored in aJoiner.
- (id)
channelParted: (NSString*)aChannel
withMessage: (NSString*)aMessage
from: (NSString*)aParter;
Called when someone leaves a channel. The channel is
stored in aChannel and the person who
left is stored in aParter. The parting
message will be stored in aMessage.
- (id)
couldNotRegister: (NSString*)aReason;
This method will be called if a connection cannot
register for whatever reason. This reason will be
outlined in
aReason, but the best way
to track the reason is to watch the numeric commands
being received in the
-numericCommandReceived:withParams:from:
method.
- (id)
errorReceived: (NSString*)anError;
Called when an IRC error has occurred. This is a
message sent by the server and its argument is
stored in anError. Typically you will be
disconnected after receiving one of these.
- (id)
invitedTo: (NSString*)aChannel
from: (NSString*)anInviter;
Called when the client has been invited to another
channel aChannel by anInviter
.
- (id)
messageReceived: (NSString*)aMessage
to: (NSString*)aReceiver
from: (NSString*)aSender;
Called when a message aMessage is
received from aSender. The person or
channel that the message is addressed to is stored
in aReceiver.
- (id)
modeChanged: (NSString*)aMode
on: (NSString*)anObject
withParams: (NSArray*)paramList
from: (NSString*)aPerson;
Called when the mode has been changed on
anObject. The actual mode change is stored
in aMode and the parameters are stored in
paramList. The person who changed the mode
is stored in aPerson. Consult RFC 1459 for
further information.
- (id)
newNickNeededWhileRegistering;
Called when a new nickname was needed while
registering because the other one was either
invalid or already taken. Without overriding this,
this method will simply try adding a underscore onto
it until it gets in. This method can be overridden to do
other nickname-changing schemes. The new nickname
should be directly set with
-changeNick:
- (id)
nickChangedTo: (NSString*)newName
from: (NSString*)aPerson;
Called when someone changes his/her nickname. The
new nickname is stored in newName and the
old name will be stored in aPerson.
- (id)
noticeReceived: (NSString*)aNotice
to: (NSString*)aReceiver
from: (NSString*)aSender;
Called when a notice aNotice is received
from aSender. The person or channel that
the notice is addressed to is stored in
aReceiver.
- (id)
numericCommandReceived: (NSString*)aCommand
withParams: (NSArray*)paramList
from: (NSString*)aSender;
Called when a numeric command has been received.
These are 3 digit numerical messages stored in
aCommand with a number of parameters
stored in paramList. The sender, almost
always the server, is stored in aSender.
These are often used for replies to requests such as
user lists and channel lists and other times they are
used for errors.
- (id)
pingReceivedWithArgument: (NSString*)anArgument
from: (NSString*)aSender;
Called when a ping is received. These pings are
generally sent by the server. The correct method
of handling these would be to respond to them with
-sendPongWithArgument:
using
anArgument as the argument. The
server that sent the ping is stored in
aSender.
- (id)
pongReceivedWithArgument: (NSString*)anArgument
from: (NSString*)aSender;
Called when a pong is received. These are generally
in answer to a ping sent with
-sendPingWithArgument:
The argument
anArgument is generally the
same as the argument sent with the ping.
aSender is the server that sent out the
pong.
- (id)
quitIRCWithMessage: (NSString*)aMessage
from: (NSString*)aQuitter;
Called when someone quits IRC. Their parting message
will be stored in aMessage and the person
who quit will be stored in aQuitter.
- (id)
registeredWithServer;
This method will be called when the connection is
fully registered with the server. At this point it is
safe to start joining channels and carrying out other
typical IRC functions.
- (id)
topicChangedTo: (NSString*)aTopic
in: (NSString*)aChannel
from: (NSString*)aPerson;
Called when the topic is changed in a channel
aChannel to aTopic by
aPerson.
- (id)
userKicked: (NSString*)aPerson
outOf: (NSString*)aChannel
for: (NSString*)aReason
from: (NSString*)aKicker;
Called when a user has been kicked out of a channel.
The person's nickname is stored in
aPerson
and the channel he/she was kicked out of is in
aChannel.
aReason is the
kicker-supplied reason for the removal.
aKicker is the person who did the kicking.
This will not be accompanied by a
-channelParted:withMessage:from:
message, so it is safe to assume they are no
longer part of the channel after receiving this
method.
- (id)
wallopsReceived: (NSString*)aMessage
from: (NSString*)aSender;
Called when a Wallops has been received. The message
is stored in aMessage and the person who sent
it is stored in aSender.
- Declared in:
- IRCObject.h
This is the lowlevel interface to IRCObject. One method
is a callback for when the object receives a raw message
from the connection, the other is a method used to write
raw messages across the connection
Method summary
- (id)
lineReceived: (NSData*)aLine;
Handles an incoming line of text from the IRC
server by parsing it and doing the appropriate
actions as well as calling any needed callbacks.
See
[LineObject -lineReceived:]
for more information.
- (id)
writeString: (NSString*)format
,...;
Writes a formatted string to the connection. This
string will not pass through any of the callbacks.
- Declared in:
- IRCObject.h
Additions of NSString that are used to upper/lower
case strings taking into account that on many servers
{}|^ are lowercase forms of []\~. Try not to depend on
this fact, some servers nowadays are drifting away from
this idea and will treat them as different characters
entirely.
Method summary
- (NSString*)
lowercaseIRCString;
Returns a lowercased string (and converts any of
[]\~ characters found to {}|^ respectively).
- (NSString*)
lowercaseStrictRFC1459IRCString;
Returns a lowercased string (and converts any of
[]\ characters found to {}| respectively). The original
RFC 1459 forgot to include these and thus this method
is included.
- (NSString*)
uppercaseIRCString;
Returns an uppercased string (and converts any of
{}|^ characters found to []\~ respectively).
- (NSString*)
uppercaseStrictRFC1459IRCString;
Returns a uppercased string (and converts any of
{}| characters found to []\ respectively). The original
RFC 1459 forgot to include these and thus this method
is included.
NSString* ERR_ALREADYREGISTRED;
462 - Please see RFC 1459 for additional information.
NSString* ERR_BADCHANMASK;
476 - Please see RFC 1459 for additional information.
NSString* ERR_BADCHANNELKEY;
475 - Please see RFC 1459 for additional information.
NSString* ERR_BADMASK;
415 - Please see RFC 1459 for additional information.
NSString* ERR_BANLISTFULL;
478 - Please see RFC 1459 for additional information.
NSString* ERR_BANNEDFROMCHAN;
474 - Please see RFC 1459 for additional information.
NSString* ERR_CANNOTSENDTOCHAN;
404 - Please see RFC 1459 for additional information.
NSString* ERR_CANTKILLSERVER;
483 - Please see RFC 1459 for additional information.
NSString* ERR_CHANNELISFULL;
471 - Please see RFC 1459 for additional information.
NSString* ERR_CHANOPRIVSNEEDED;
482 - Please see RFC 1459 for additional information.
NSString* ERR_ERRONEUSNICKNAME;
432 - Please see RFC 1459 for additional information.
NSString* ERR_FILEERROR;
424 - Please see RFC 1459 for additional information.
NSString* ERR_INVITEONLYCHAN;
473 - Please see RFC 1459 for additional information.
NSString* ERR_KEYSET;
467 - Please see RFC 1459 for additional information.
NSString* ERR_NEEDMOREPARAMS;
461 - Please see RFC 1459 for additional information.
NSString* ERR_NICKCOLLISION;
436 - Please see RFC 1459 for additional information.
NSString* ERR_NICKNAMEINUSE;
433 - Please see RFC 1459 for additional information.
NSString* ERR_NOADMININFO;
423 - Please see RFC 1459 for additional information.
NSString* ERR_NOCHANMODES;
477 - Please see RFC 1459 for additional information.
NSString* ERR_NOLOGIN;
444 - Please see RFC 1459 for additional information.
NSString* ERR_NOMOTD;
422 - Please see RFC 1459 for additional information.
NSString* ERR_NONICKNAMEGIVEN;
431 - Please see RFC 1459 for additional information.
NSString* ERR_NOOPERHOST;
491 - Please see RFC 1459 for additional information.
NSString* ERR_NOORIGIN;
409 - Please see RFC 1459 for additional information.
NSString* ERR_NOPERMFORHOST;
463 - Please see RFC 1459 for additional information.
NSString* ERR_NOPRIVILEGES;
481 - Please see RFC 1459 for additional information.
NSString* ERR_NORECIPIENT;
411 - Please see RFC 1459 for additional information.
NSString* ERR_NOSERVICEHOST;
492 - Please see RFC 1459 for additional information.
NSString* ERR_NOSUCHCHANNEL;
403 - Please see RFC 1459 for additional information.
NSString* ERR_NOSUCHNICK;
401 - Please see RFC 1459 for additional information.
NSString* ERR_NOSUCHSERVER;
402 - Please see RFC 1459 for additional information.
NSString* ERR_NOSUCHSERVICE;
408 - Please see RFC 1459 for additional information.
NSString* ERR_NOTEXTTOSEND;
412 - Please see RFC 1459 for additional information.
NSString* ERR_NOTONCHANNEL;
442 - Please see RFC 1459 for additional information.
NSString* ERR_NOTOPLEVEL;
413 - Please see RFC 1459 for additional information.
NSString* ERR_NOTREGISTERED;
451 - Please see RFC 1459 for additional information.
NSString* ERR_PASSWDMISMATCH;
464 - Please see RFC 1459 for additional information.
NSString* ERR_RESTRICTED;
484 - Please see RFC 1459 for additional information.
NSString* ERR_SUMMONDISABLED;
445 - Please see RFC 1459 for additional information.
NSString* ERR_TOOMANYCHANNELS;
405 - Please see RFC 1459 for additional information.
NSString* ERR_TOOMANYTARGETS;
407 - Please see RFC 1459 for additional information.
NSString* ERR_UMODEUNKNOWNFLAG;
501 - Please see RFC 1459 for additional information.
NSString* ERR_UNAVAILRESOURCE;
437 - Please see RFC 1459 for additional information.
NSString* ERR_UNIQOPPRIVSNEEDED;
485 - Please see RFC 1459 for additional information.
NSString* ERR_UNKNOWNCOMMAND;
421 - Please see RFC 1459 for additional information.
NSString* ERR_UNKNOWNMODE;
472 - Please see RFC 1459 for additional information.
NSString* ERR_USERNOTINCHANNEL;
441 - Please see RFC 1459 for additional information.
NSString* ERR_USERONCHANNEL;
443 - Please see RFC 1459 for additional information.
NSString* ERR_USERSDISABLED;
446 - Please see RFC 1459 for additional information.
NSString* ERR_USERSDONTMATCH;
502 - Please see RFC 1459 for additional information.
NSString* ERR_WASNOSUCHNICK;
406 - Please see RFC 1459 for additional information.
NSString* ERR_WILDTOPLEVEL;
414 - Please see RFC 1459 for additional information.
NSString* ERR_YOUREBANNEDCREEP;
465 - Please see RFC 1459 for additional information.
NSString* ERR_YOUWILLBEBANNED;
466 - Please see RFC 1459 for additional information.
NSString* IRCException;
Description forthcoming.
NSString* RPL_ADMINEMAIL;
259 - Please see RFC 1459 for additional information.
NSString* RPL_ADMINLOC1;
257 - Please see RFC 1459 for additional information.
NSString* RPL_ADMINLOC2;
258 - Please see RFC 1459 for additional information.
NSString* RPL_ADMINME;
256 - Please see RFC 1459 for additional information.
NSString* RPL_AWAY;
301 - Please see RFC 1459 for additional information.
NSString* RPL_BANLIST;
367 - Please see RFC 1459 for additional information.
NSString* RPL_BOUNCE;
005 - Please see RFC 1459 for additional information.
NSString* RPL_CHANNELMODEIS;
324 - Please see RFC 1459 for additional information.
NSString* RPL_CLOSEEND;
363 - Please see RFC 1459 for additional information.
NSString* RPL_CLOSING;
262 - Please see RFC 1459 for additional information.
NSString* RPL_CREATED;
003 - Please see RFC 1459 for additional information.
NSString* RPL_ENDOFBANLIST;
368 - Please see RFC 1459 for additional information.
NSString* RPL_ENDOFEXCEPTLIST;
349 - Please see RFC 1459 for additional information.
NSString* RPL_ENDOFINFO;
374 - Please see RFC 1459 for additional information.
NSString* RPL_ENDOFINVITELIST;
347 - Please see RFC 1459 for additional information.
NSString* RPL_ENDOFLINKS;
365 - Please see RFC 1459 for additional information.
NSString* RPL_ENDOFMOTD;
376 - Please see RFC 1459 for additional information.
NSString* RPL_ENDOFNAMES;
366 - Please see RFC 1459 for additional information.
NSString* RPL_ENDOFSERVICES;
232 - Please see RFC 1459 for additional information.
NSString* RPL_ENDOFSTATS;
219 - Please see RFC 1459 for additional information.
NSString* RPL_ENDOFUSERS;
394 - Please see RFC 1459 for additional information.
NSString* RPL_ENDOFWHO;
315 - Please see RFC 1459 for additional information.
NSString* RPL_ENDOFWHOIS;
318 - Please see RFC 1459 for additional information.
NSString* RPL_ENDOFWHOWAS;
369 - Please see RFC 1459 for additional information.
NSString* RPL_EXCEPTLIST;
348 - Please see RFC 1459 for additional information.
NSString* RPL_INFO;
371 - Please see RFC 1459 for additional information.
NSString* RPL_INFOSTART;
373 - Please see RFC 1459 for additional information.
NSString* RPL_INVITELIST;
346 - Please see RFC 1459 for additional information.
NSString* RPL_INVITING;
341 - Please see RFC 1459 for additional information.
NSString* RPL_ISON;
303 - Please see RFC 1459 for additional information.
NSString* RPL_ISUPPORT;
005 - Please see RFC 1459 for additional information.
NSString* RPL_KILLDONE;
361 - Please see RFC 1459 for additional information.
NSString* RPL_LINKS;
364 - Please see RFC 1459 for additional information.
NSString* RPL_LIST;
322 - Please see RFC 1459 for additional information.
NSString* RPL_LISTEND;
323 - Please see RFC 1459 for additional information.
NSString* RPL_LISTSTART;
321 - Please see RFC 1459 for additional information.
NSString* RPL_LUSERCHANNELS;
254 - Please see RFC 1459 for additional information.
NSString* RPL_LUSERCLIENT;
251 - Please see RFC 1459 for additional information.
NSString* RPL_LUSERME;
255 - Please see RFC 1459 for additional information.
NSString* RPL_LUSEROP;
252 - Please see RFC 1459 for additional information.
NSString* RPL_LUSERUNKNOWN;
253 - Please see RFC 1459 for additional information.
NSString* RPL_MOTD;
372 - Please see RFC 1459 for additional information.
NSString* RPL_MOTDSTART;
375 - Please see RFC 1459 for additional information.
NSString* RPL_MYINFO;
004 - Please see RFC 1459 for additional information.
NSString* RPL_MYPORTIS;
384 - Please see RFC 1459 for additional information.
NSString* RPL_NAMREPLY;
353 - Please see RFC 1459 for additional information.
NSString* RPL_NONE;
300 - Please see RFC 1459 for additional information.
NSString* RPL_NOTOPIC;
331 - Please see RFC 1459 for additional information.
NSString* RPL_NOUSERS;
395 - Please see RFC 1459 for additional information.
NSString* RPL_NOWAWAY;
306 - Please see RFC 1459 for additional information.
NSString* RPL_REHASHING;
382 - Please see RFC 1459 for additional information.
NSString* RPL_SERVICE;
233 - Please see RFC 1459 for additional information.
NSString* RPL_SERVICEINFO;
231 - Please see RFC 1459 for additional information.
NSString* RPL_SERVLIST;
234 - Please see RFC 1459 for additional information.
NSString* RPL_SERVLISTEND;
235 - Please see RFC 1459 for additional information.
NSString* RPL_STATSBLINE;
247 - Please see RFC 1459 for additional information.
NSString* RPL_STATSCLINE;
213 - Please see RFC 1459 for additional information.
NSString* RPL_STATSCOMMANDS;
212 - Please see RFC 1459 for additional information.
NSString* RPL_STATSDLINE;
250 - Please see RFC 1459 for additional information.
NSString* RPL_STATSHLINE;
244 - Please see RFC 1459 for additional information.
NSString* RPL_STATSILINE;
215 - Please see RFC 1459 for additional information.
NSString* RPL_STATSKLINE;
216 - Please see RFC 1459 for additional information.
NSString* RPL_STATSLINKINFO;
211 - Please see RFC 1459 for additional information.
NSString* RPL_STATSLLINE;
241 - Please see RFC 1459 for additional information.
NSString* RPL_STATSNLINE;
214 - Please see RFC 1459 for additional information.
NSString* RPL_STATSOLINE;
243 - Please see RFC 1459 for additional information.
NSString* RPL_STATSPING;
246 - Please see RFC 1459 for additional information.
NSString* RPL_STATSQLINE;
217 - Please see RFC 1459 for additional information.
NSString* RPL_STATSSLINE;
245 - Please see RFC 1459 for additional information.
NSString* RPL_STATSUPTIME;
242 - Please see RFC 1459 for additional information.
NSString* RPL_STATSVLINE;
240 - Please see RFC 1459 for additional information.
NSString* RPL_STATSYLINE;
218 - Please see RFC 1459 for additional information.
NSString* RPL_SUMMONING;
342 - Please see RFC 1459 for additional information.
NSString* RPL_TIME;
391 - Please see RFC 1459 for additional information.
NSString* RPL_TOPIC;
332 - Please see RFC 1459 for additional information.
NSString* RPL_TRACECLASS;
209 - Please see RFC 1459 for additional information.
NSString* RPL_TRACECONNECTING;
201 - Please see RFC 1459 for additional information.
NSString* RPL_TRACEEND;
262 - Please see RFC 1459 for additional information.
NSString* RPL_TRACEHANDSHAKE;
202 - Please see RFC 1459 for additional information.
NSString* RPL_TRACELINK;
200 - Please see RFC 1459 for additional information.
NSString* RPL_TRACELOG;
261 - Please see RFC 1459 for additional information.
NSString* RPL_TRACENEWTYPE;
208 - Please see RFC 1459 for additional information.
NSString* RPL_TRACEOPERATOR;
204 - Please see RFC 1459 for additional information.
NSString* RPL_TRACERECONNECT;
210 - Please see RFC 1459 for additional information.
NSString* RPL_TRACESERVER;
206 - Please see RFC 1459 for additional information.
NSString* RPL_TRACESERVICE;
207 - Please see RFC 1459 for additional information.
NSString* RPL_TRACEUNKNOWN;
203 - Please see RFC 1459 for additional information.
NSString* RPL_TRACEUSER;
205 - Please see RFC 1459 for additional information.
NSString* RPL_TRYAGAIN;
263 - Please see RFC 1459 for additional information.
NSString* RPL_UMODEIS;
221 - Please see RFC 1459 for additional information.
NSString* RPL_UNAWAY;
305 - Please see RFC 1459 for additional information.
NSString* RPL_UNIQOPIS;
325 - Please see RFC 1459 for additional information.
NSString* RPL_USERHOST;
302 - Please see RFC 1459 for additional information.
NSString* RPL_USERS;
393 - Please see RFC 1459 for additional information.
NSString* RPL_USERSSTART;
392 - Please see RFC 1459 for additional information.
NSString* RPL_VERSION;
351 - Please see RFC 1459 for additional information.
NSString* RPL_WELCOME;
001 - Please see RFC 1459 for additional information.
NSString* RPL_WHOISCHANNELS;
319 - Please see RFC 1459 for additional information.
NSString* RPL_WHOISCHANOP;
316 - Please see RFC 1459 for additional information.
NSString* RPL_WHOISIDLE;
317 - Please see RFC 1459 for additional information.
NSString* RPL_WHOISOPERATOR;
313 - Please see RFC 1459 for additional information.
NSString* RPL_WHOISSERVER;
312 - Please see RFC 1459 for additional information.
NSString* RPL_WHOISUSER;
311 - Please see RFC 1459 for additional information.
NSString* RPL_WHOREPLY;
352 - Please see RFC 1459 for additional information.
NSString* RPL_WHOWASUSER;
314 - Please see RFC 1459 for additional information.
NSString* RPL_YOUREOPER;
381 - Please see RFC 1459 for additional information.
NSString* RPL_YOURESERVICE;
383 - Please see RFC 1459 for additional information.
NSString* RPL_YOURHOST;
002 - Please see RFC 1459 for additional information.
NSString* ExtractIRCHost(NSString* prefix);
Returns the host portion of a prefix. On
any argument after from: in the class reference, the name
could be in the format nickname!host. Returns
nil
if the prefix is not in
the correct format.
NSString* ExtractIRCNick(NSString* prefix);
Returns the nickname portion of a prefix.
On any argument after from: in the class reference, the
name could be in the format of nickname!host. Will
always return a valid string.
NSArray* SeparateIRCNickAndHost(NSString* prefix);
Returns an array of the nickname/host of a
prefix. In the case that the array has only
one object, it will be the nickname. In the case that it
has two, it will be [nickname, host]. The object will
always be at least one object long
and never more than two.
Up