Irc Commands:
Basic IRC Commands
Server
USAGE: /Server [server.name | server.ip] portCommand to connect your client to a server. Optionally, you can specify a port number you wish to connect to on that server.
EXAMPLE: /SERVER irc.dal.net
EXAMPLE: /SERVER liberty.dal.net 6669
EXAMPLE: /SERVER 123.45.67.89 6669
Join
USAGE: /JOIN channel,channel channel keyCommand to connect your client to a channel. The optional second parameter is how you would enter a channel which is set +k (keyed) and has a key (channel password) set.
NOTE: Joining channel 0 causes the server to part you from all channels. Channel zero used to refer to the status window of the client.
EXAMPLE: /JOIN #DALnetHelp
EXAMPLE: /JOIN #DALnetHelp,#Help,#IRCHelp
EXAMPLE: /JOIN #SuperSecretChannel g30f976oh098g93498ghysou
EXAMPLE: /JOIN 0,#NoHack
Part
USAGE: /PART channel,channel part messageCommand to make your client leave a channel or channels with an optional parting message. If you want to part all channels, it is quicker to /join 0 than to part by listing all channels you're in.
EXAMPLE: /PART #DALnetHelp
EXAMPLE: /PART #DALnetHelp,#Help,#IRCHelp
Names
USAGE: /Names channelCommand to reveal the nicknames of all nicks in the specified channel. No secret (+s) channel or invisible (+i) user will show up in a NAMES Reply. This command is also used to send the client the initial list of nicks in the channel when they join. Multiple targets in the /names command are not allowed.
EXAMPLE: /NAMES channel
List
USAGE: /List optionsCommand to list the channels on the network. Option can be appended to the /list command to limit its search. If you don't include any options, the default is to send you the entire unfiltered list of channels. If a listing is in progress, a second /list command with no parameters after the listing has started will halt the listing. Below are the options you can use, and what channels LIST will return when you use them.
Option Usage
>number List channels with more than number people. <number List channels with less than number people. C>number List channels created between now and number minutes ago. C<number List channels created earlier than number minutes ago. T>number List channels whose topics are older than number minutes (unchanged in the last number minutes. T<number List channels whose topics are not older than number minutes. *mask* List channels that match *mask* !*mask* List channels that do not match *mask*
EXAMPLE: /LIST lists all channels.
EXAMPLE: /LIST >300 lists channels with more than 300 nicks in them.
EXAMPLE: /LIST lists channels with less than 50 nicks in them.
EXAMPLE: /LIST *mirc* lists channels with the word "mirc" in them.
EXAMPLE: /LIST >9,<101 *mirc* lists channels with 10-100 nicks and with the word "mirc" in the channel name or topic.
Who
USAGE: /Who [[+|-][acghmnsu] [args]#channel Nick1 H@ ~userid@12.34.56.78 :0 Nick1 looks very helpful.Searchs for users who are not invisible (+i) [unless you are using +c] based on the criteria specified. The basic form of the information returned is how you remember what you can check against. The following options are in logical order across the /WHO Reply line, rather than in alphabetical order by mode.
c n am u h s g
Flags Arguments Wildcards?
+c channel No +n nick Yes +a away No +m modes No +u userid (ident) Yes +h host (IP) Yes +s server No +g GCOS ("Real name") Yes (Oper only) EXAMPLE: /WHO +n Nick4* searches for all nicks starting with Nick4 plus any additional characters after that.
EXAMPLE: /WHO +u CoolmIRC searches for all users of the CoolmIRC script.
EXAMPLE: /WHO +ch #FunFactory *.aol.com searches #FunFactory for all AOL users.
Troy Rollo originally implemented the DCC Protocol for ircII. DCC uses TCP sockets to transfer data without any flow control (full speed) directly between clients, only relying on the IRC connect to do the intial handshaking through a CTCP message. It takes the form:
DCC type argument address port size type Indicates what kind of connection, CHAT or SEND, this is going to be. argument filename.ext or "chat" address Host TCP socket, in longip format, that the originator is waiting for a connection. port The port on the originator's computer the client is going to be listening for a connection. size If type is "SEND," this will indicate the size of the file to be sent. Since DCC connections are not in any way connected with the IRC network on which the two clients originally together to start the session, either or both can get disconnected from the network or even go to another network and still maintain communication.
Command to connect your client to another client directly for sending text back and forth. This is used much like normal chat, except it will stay connected regardless of Ping timeouts or connections being reset by peer. If the client gets disconnected from their ISP and has to redial in, the connection will drop.
EXAMPLE: /DCC Chat Nick3
Command that sends the specified file to the nick. The file location must be known and fully qualified if it is not in the same directory as the client software you are using.
EXAMPLE: /DCC Send Nick3 mypic.jpg
The last kind of DCC connection is called an FServe, or file server. These are implemented across a DCC connection and look much like you were actually on someone else's machine browsing through their files. You can issue commands there, too, such as dir and ls to list files, cd to change directory and get to transfer a file you want back to your own machine.
You can receive files from people all over the world. Almost all of these people you have never met, nor will you be likely to meet them. Be very careful what kinds of files you download and from whom you download them. Virii are frequently spread through files found on FServes in .exe files (and others, too).
CTCP commands are commands that are implemented and interpreted by the client rather than the IRC server. The two most common, PING and VERSION, are described below. All of these commands have two parts: a command and a possible reply. The command is sent using a specialized version of a PRIVMSG command, and it's ctcpreply takes the same form using the NOTICE command. The text of any raw commands that contains a space always begins with a colon. CTCP commands enclose their text with two ^A (also known as $chr(1) or \001 or ASCII 1) characters. The CTCP command is appended to the opening ^A followed by it's arguments (parameters) and then terminated by another ^A. In raw IRC form, these take the form:
PRIVMSG target :COMMAND arguments NOTICE target :COMMAND arguments COMMAND Indicates what command is being sent. arguments modifies the command by allowing parameters to be passed along with the command. These vary depending on the command being used
Command to check the electronic "distance" between you and your target. The target can be either a nick or a channel.
Your client will send a known value (normally, it uses either the number of seconds since 1 JAN 1970 or the number of milliseconds your operating system has been running) to another client. The receiving client doesn't modify any of it; it merely sends back that number. When the originating client gets back the ctcyreply, it does the math to subtract the number that was sent and received from a current version of that value. The difference is the time it took for a message to travel to the receiving client and back.
EXAMPLE: /CTCP Nick4 PING
EXAMPLE: /CTCP #Channel4 Ping
Command to check the version of software your target is using. The target can be either a nick or a channel. This is frequently used to figure out what client software someone is using, and sometimes it's also used for finding out what script that nick is using. Also, for people who are halting PINGs, a VERSION reply will still get through, giving you some idea of how far, electronically, they are from you.
EXAMPLE: /CTCP Nick4 VERSION
EXAMPLE: /CTCP #Channel4 VERSION