KVIrc.net - The K-Visual IRC client. Latest news 01 Jan 2019 KVIrc 5.0.0 'Aria' 29 Dec 2017 KVIrc 5.0.0 Beta 1 15 Apr 2016. PChat IRC 1.5.3. Intuitive and rich-featured IRC client that offers support for file transfers, ignore list, sound.
Original web version with over 100 links at http://www.irchelp.org/irchelp/irctutorial.html
Credits: 6/26/1991 - originally written by Ronald van Loon(rvl). 1/07/1997 - update & HTMLtranslation by Joseph Lo (Jolo).8/17/2004 - revised by Joseph Lo (Jolo).
IRC (Internet Relay Chat) is a multi-user, multi-channel chattingsystem. Imagine sitting in front of your computer and “talking” through typedmessages with either one person or many other people from all over theInternet, all in real time! Best of all, once you get set up, chatting on IRCis totally free!
There are many help files designed to introduce you tothe exciting and sometimes bewildering world of IRC. This tutorial that youare reading now is intended to walk you through the important commands one byone so that you can learn by doing. If you are brand new to IRC, you may wishto first read the very short IRC Prelude (or its manytranslations) to get yourself oriented. Then later you maycheck out one of the standard references, such as the alt.irc newsgroup’sfrequently asked questions (FAQ) list, or the longbut extremely thorough IRC Primer which isorganized like a textbook.
IRC is based on a client-server model. You run a client program on your owncomputer which connects you to a server computer on the Internet. Theseservers link to many other servers to make up an IRC network, which transportmessages from one user (client) to another. In this manner, people from allover the world can talk to each other live and simultaneously.
To join in the fun, all you need is an Internet Service Provider to get youconnected to the Internet (if you’re able to read this web page, you’realready connected), and an IRC client program. The most popular clients aremIRC for the Windows operating system,ircII for UNIX, and Ircle for Macintosh. Agood provider should have installed one of these for you already, if not youcan download them yourself for free. (Ircle and mIRC are shareware, meaningyou get a one month free trial, then if you like it and keep it, you are boundby an honor system to pay the author a modest fee.)
Once you are set up with a provider and a client, you are in control. Choose anickname you wish to be known by, then connect to one of the many differentIRC networks catering to different geographicallocations, interests, or philosophies. The largest networks have tens ofthousands of people online at any given moment, drawn from an order ofmagnitude or more of regular visitors. These people create thousands ofchannels (sometimes incorrectly called “chat rooms”) where people may meet andmingle. You may join these channels and participate in the group discussion,or you may elect to chat privately with individuals.
Conversations on a channel are like those at a party: everybody who is presenthears everything that everybody else is saying. If somebody is late to theparty or leaves early, however, they will not hear what is said in theirabsence. All channels on IRC have names starting with #, such as #irchelpwhere you can get technical IRC help, or #new2irc where new users are welcometo join and chat. Usually, the name of the channel shows what it’s for, butnot always.
We will assume you or your provider has installed one of the mainstream IRCclients already. If not, see the links in the previous section. Onceinstalled, most clients have shortcuts for getting started quickly, usingdefault nicknames, servers, and ports on those servers. (To help distributethe load better, each server permits connections on many different openings or“ports”, usually leading to redundant connections to the same IRC network.)
For example, mIRC has a connection dialog that lets you pick your nickname andsuggests some server choices. From the UNIX prompt, ircII may be launched justby typing irc
which should connect you using your login name as yournickname and a default server. Ircle has a few icons in its folder such as#macintosh and all you need to do is double-click on them to join thatchannel, which happens to be on a network called Undernet.
If these quick starts don’t immediately work for you, don’t worry, they arejust like teaser movie previews compared to the full IRC experience. In thenext section, we will show you how to make a proper connection to a server,then how to list available channels and join them, as well as how to find yourfriends and like-minded people.
Every IRC client has an input area where you can type what you want to say orissue IRC commands. You issue IRC commands by typing on a new line somethingbeginning with a / (forward slash) character. Anything that does not beginwith a / is assumed to be a message you are typing to someone or some channel.In the following I will describe the more common commands used in everyday IRClife. Commands you are supposed to type will be shown in **red**
, while textwhich you will see in response will be shown in **blue**
.
In addition, the graphical clients such as mIRC or Ircle allow you to use amouse to point and click your way around IRC, so that you don’t have to typemany of these commands manually. You should still learn the commands properly,because often they are the only way to specify precisely what you want done,and also they are often faster and easier than navigating through thelabyrinth of buttons, menus, and dialogs that are supposed to make your lifeeasier.
/HELP [optional command name]
The first and most useful command is the on-line help built into all good IRCclients just by typing /help
where you normally type to chat. This shouldbring up a list of all commands. You can also get specific help for a command,such as /help who
for the /who command.
You can get a quick introduction to IRC built into your client. mIRC userstype /ircintro
while ircII users type /help intro
or /help newuser
.
If you are not sure about the spelling of a mIRC command, just type in thefirst few letters. The help window, which shows commands arrangedalphabetically, will open to approximately the right place so that you canchoose to learn about a specific command.
If you are not sure about the spelling of an ircII command, type the first fewletters and press the ESCape key twice. ircII will give you a listing ofCOMMANDS and ALIASes that start with that prefix. Don’t forget the “/irchelp/”in front of the command, though.
For example, you type the following:
You get as a response the following (this is just an example. Your screen mayshow more or less aliases or commands):
/SERVER new-server-hostname
Each server is known by a “hostname” such as irc.ais.net, us.undernet.org,irc.dal.net, or irc.webbernet.net, which are sample servers for the networksEFnet,Undernet,DALnet, andIRCnet, respectfully. Just specifythe hostname to connect or switch to that server. For example:
You then see the following messages indicating your client has successfullyconnected to that server.
/NICK new-nickname
Change the nickname by which you are known. Nicknames are usually limited to 9characters. For example, if your default nick was “foo” and you want to changeit to “YourNick”:
/LIST
Lists IRC channels, number of users, and topic for each. This is how you findplaces to go meet people and chat.
If you’re on a big network, this list may be very long, up to manythousands of channels! It may even cause you to flood yourself off so that youget disconnected from the server. If that happens, try using different serverson that network, or instead use the searchable EFnet channellist web page which is updated hourly, or the lessfrequently updated but more comprehensive Liszt channellist.
You can also search for specific keywords by using /LIST keyword
in mIRC, or/LIST *keyword*
in ircII. Note this may or may not be any faster or saferthan a full list depending on the network. On networks like EFnet and IRCnet,for example, your client gets the full list first and then does the filteringinternally before displaying matches to you. On Undernet, the server filtersthe list and sends only the matches to you, which can be much faster if you’reon a slow modem.
/NAMES #channel-name
Shows the nicknames of all users on that channel. While theoretically this issupposed to work whether or not you are on that channel, in practice mostpeople these days are set to be “invisible” and thus do not show up on suchqueries unless you are in the same channel already.
The “@” symbols show that YourNick and FunGuy are “channel ops”, and thatbuddy has been given a “voice”. These terms will be described in more detailin the channel modes section later.
/WHOIS nickname
Shows information about the nick specified.
The “abcd@dialup-6.provider.com” looks like an email address but actually abcdis buddy’s identifying “username” on dialup-6.provider.com, which is the“hostname” of the computer buddy is using for IRC. One cannot arbitarilychange the hostname, because it is the computer’s address on the Internet, andit is required in order for the IRC server to communicate with one’s computerproperly. Next, in the parentheses, buddy shows a personal message instead ofthe real name which is supposed to go there.
The second line shows he is on the “public” channels #demo and #test123, andthe @ symbol means he is an operator on #demo. It doesn’t show other, “secret”channels he might be on. Finally the third line shows which IRC server he isusing. We will discuss public/secret channels and operators later in part 3.
/AWAY away-message-here
Leave a message explaining that you are not currently paying attention to IRC.
If your friend does /whois YourNick now, they will get the 3 lines asdescribed in the /whois section above, plus a final line saying:
*** YourNick is away: getting coffee, be back in 5 mins
/AWAY without any additional argument will remove the away message.
/QUIT [optional farewell message]
Exits IRC (also leaves any channels you may be on).
The point of IRC is to chat, and as mentioned before, you may join in publicdiscussions on channels or talk privately to one person at a time. We willshow you how to do both here.
We previously learned how to find channels using the /list command. Here willtalk about how to join those channels and talk on them.
There can be many thousands of channels on the largest networks, each withanywhere from one to hundreds of people. Each channel is controlled by channeloperators or “ops” who have absolute authority over their channels. We willdiscuss more about that later. You should always observe basic netiquette whenvisiting other people’s channels.
/JOIN #channelname
Changes your current channel to the channel specified. If the channel does notexist already, it will be created and you will be in charge of the new channeland be a channel operator or “op” - more on that later.
When you join a channel, everything that everybody says is preceded by theirnicknames so others can tell who is saying what. For some IRC programs, itdoesn’t show your own nickname, but don’t worry, other people still see it!
You type:
hello world!
but everybody else sees:
<YourNick> hello world!
/ME does something
Performs an action on a channel. Unlike talking normally, actions do not startwith
/LEAVE [#channel_name]
Leaves the specified channel, or if no channel is specified, leaves thecurrent channel.
/MSG nickname message
Use the /MSG command to send someone a message that only that person can read.Say you are “YourNick” and you want to talk to your friend “buddy”.
/MSG buddy hello, how are you?
On your screen, you would see:
-> *buddy* Hello, how are you?
On buddy’s screen, if he is using ircII he sees:
*YourNick* Hello, how are you?
To answer such a message using ircII, buddy would type:
/MSG YourNick Fine, thanks!
If buddy is using mIRC, he will instead get a new “query” window dedicated tothis private conversation with you. Everything you /MSG him goes to thatwindow. As soon as he responds to you in that window, if you are also usingmIRC you will likewise also get a “query” window.
/QUERY nickname and /QUERY
In mIRC, if you initiate a /MSG you don’t get a “query” window until the otherperson responds to you. You can set up a “query” window on your side rightfrom the beginning by using the /QUERY command:
/QUERY buddy
In ircII, you can have a private conversation by using /MSG nicknamerepeatedly, but that can get cumbersome. That’s where the QUERY command comesin handy. When you issue the above command, all subsequent text will be sendas private messages to that nickname, except for “/irchelp/” commands. Use/QUERY
with no nickname to end a private conversation.
Here’s an example of a private conversation between you as “YourNick” and yourfriend “buddy”, as seen from your point of view. Statements from your IRCclient program start with “**”, outgoing messages from you to buddy startwith “-> *buddy”, and incoming messages to you from buddy start with“buddy”.
/CTCP nickname PING/CTCP #channel-name PING
Sometimes you are talking to your friend and suddenly it seems like he’s notpaying attention. This may be due to server “lag” on either end, which is theroundtrip delay between when you say something and your friend sees thatmessage. Normally lag is less than a few seconds even when you are talking topeople on the other side of the planet, but sometimes the servers temporarilysuffer from serious lag. If you suspect this is the problem, you can test yourlag with a sonar-like ping signal under the Client-to-Client Protocol (CTCP).If you are just talking to one person, ping that person. If you suspect youare generally lagged to a lot of people, ping a channel with say 10 peoplewhich is the same as pinging each person on that channel separately. The rangein ping response times will tell you if you are lagged in general.
The last line is the part you care about. It says you are lagged less than 1second to buddy, which is very good. Note that in most clients including mostversions of ircII and mIRC, this is aliased to /PING nickname
, or /PING#channel-name
, but not always. Some Mac clients such as Ircle use /CPING
instead.
DCC CHAT
/DCC CHAT nickname/MSG =nickname message/DCC CLOSE CHAT nickname
DCC stands for Direct Client Communication, where you and your friend’s clientprograms connect directly to each other, bypassing IRC servers and theiroccasional “lag” or “split” problems. Like /MSG, the DCC chat is completelyprivate.
If you are “Yournick” and your friend is “buddy”, here’s how to use DCC chat:
You type:
/DCC CHAT buddy
You see:
*** Sent DCC CHAT request to buddy
While buddy sees:
*** DCC CHAT (chat) request received from YourNick
Now buddy types the same thing but using your nick:
/DCC CHAT YourNick
The connection goes through and you see this (he sees something similar). Thenumbers are his IP number (the numeric version of his computer’s hostname) andhis port number.
*** DCC CHAT connection with buddy[123.4.56.78,54321] established
Now to talk to buddy, in graphical clients like mIRC you will probably have aseparate window for the DCC chat so that everything you type is sent to buddy.Just type normally in that window. Alternatively, from any window you may usea /MSG with an equals sign immediately before his nick, which distinguishesthis DCC CHAT message from a regular /MSG buddy whatever:
/MSG =buddy now we're talking!
When you’re done talking, either close the graphical window (if there is oneavailable) or manually close the connection:
/DCC CLOSE CHAT buddy
*** DCC chat:<any> to buddy closed
In addition to talking, IRC has also become a popular and convenient way toexchange a wide variety of files. Be forewarned, however, that many people aregetting into serious trouble by downloading files that seem interesting orenticing, only to find out they are trojan horseattacks. These hacks allow strangers to takeover your channels, force you to disconnect, erase your hard disk, or worse.The moral is clear: Never accept candy from strangers. For moreinformation, see our Downloading Files from IRC guide.
DCC SEND and GET
Like with DCC chat described above, DCC file transfer requires an exchange ofcommands between the sender and getter of each file. For example, if you as“YourNick” want to send the file “foo.jpg” to your friend “buddy”, you wouldtype:
/DCC SEND buddy foo.jpg
*** Sent DCC SEND request to buddy
If you specify the filename without a directory path, it will assume the fileis in the default directory. For mIRC that is usually c:mirc and for ircII itis usually your home directory. If the file is somewhere else, you will needto specify the path to that file, such as:
/DCC SEND buddy c:otherdirectoryfoo.jpg
Now for buddy to get the offered file. If he is using mIRC, a dialog will openasking him whether he wishes to accept the file, cancel the offer, or evenignore the offerer. In ircII, buddy will see the following request and typesthis in response:
*** DCC SEND (foo.jpg 180) request received from YourNick
/DCC GET YourNick
You will then see the following as the DCC connection is established and thetransfer eventually completed. On the other end, buddy sees something similartoo.
*** DCC SEND connection to buddy[123.4.56.78,54321] established
*** DCC SEND:foo.jpg to buddy completed 1.234 kb/sec
Most novices can enjoy IRC quite well with the basic IRC skills described inpart 1 and the ability to chat publicly and privately discussed in part 2.This section will now cover the basics of channel maintenance. After you havemastered this material, you may learn more about running channels from theexhaustive New IRC Channel Operator’s Guide.
Channel operators or “ops” have absolute power over their channel, includingthe right to decide who gets to come in, who must leave, who may talk, etc.When you first start out, it’s best to chat on other people’s channels andheed their rules, or else you may find yourself kicked out. If that happensand you cannot settle your differences with the ops, just go to anotherchannel.
At some point you will probably want to try your hand at being a channel op,either by creating your own new channel or by gaining the trust of the ops onan existing channel. You need to know a whole different set of commands. Withthis power comes the sometimes frustrating responsibility of maintaining thechannel against intentional abuse as well as the usual IRC mishaps.
Some networks such as Undernet andDALnet support channel registration, wherebyyou can “reserve” a channel. The advantage is that you are assured controlover the channel as long as you show up once in a while, the disadvantage isthat many popular channel names are probably already registered by others.
Two of the largest nets EFnet and IRCnet do not support channelregistration (or any other services). On these nets, there is no way toensure you will always control a channel. Some channels try hard with allsorts of bots (which are explicitly banned by most servers) and protectivescripts, but it’s really just a matter of time before somebody with the rightcombination of lameness and knowledge comes along and takes over the channel.
This section will cover the basic commands used by channel ops to maintain achannel. Try them on a test channel!
Two of the most common things that ops do are setting the channel topic andkicking out abusive people. For the purposes of this section, let’s say youhave ops on the channel #demo.
/TOPIC #channelname whatever topic for channel
Channels have topics which indicate the current topic of conversation.Theoretically anybody can change the topic on a channel with the /TOPICcommand, but usually the channel operators make it so that only they canchange the topic. This topic is shown when anybody first joins the channel,and it is also shown constantly at the bottom of the window for graphicalclients like mIRC and Ircle.
/TOPIC #demo hello, testing
*** YourNick has changed the topic on #demo to hello, testing
/KICK nickname [optional reason]
Forcibly kick that nickname out of the current channel with the reasonspecified. If no reason is given, it will just use your nickname as thedefault reason.
/KICK buddy go away, you're annoying me
*** buddy has been kicked off #demo by YourNick (go away, you're annoyingme)
In addition to the above commands, the behavior on each channel is governed bymany “modes”, each denoted by a single character such as “x” which can beturned on or off using “+x” and “-x” respectively. You can see the modescurrently in effect on a channel by issuing the /MODE command without anyflags. For example:
/mode #demo
*** Mode for channel #demo is '+tn'
What does the “+tn” mean? Those and other modes are described below.
Public This is the default channel mode. Public means that everyone can see the channel in the /NAMES and /LIST lists. These channels usually welcome newcomers.
Private (p) or Secret (s) The “+p” or “+s” will be explained later, for now consider them to be flags denoting the nature of the channel. These channels provide privacy and security for insiders and may or may not welcome newcomers. If you don’t know the names of these exclusive channels already, you won’t find them using /LIST
. Even if you know the channel name, you still cannot use /WHO #channelname
to see who is presently in there unless you join the channel yourself. Note: private and secret are not the same thing, but the difference is pretty arcane.
To make #demo a secret channel:
/MODE #demo +s
*** Mode change '+s' on channel #demo by YourNick
To make #demo a public channel again (removing the secret mode):
/MODE #demo -s
*** Mode change '-s' on channel #demo by YourNick
In the following examples I’ll leave out the responses in blue since they areall similar to the above.
No external messages to the channel (n) People outside the channel cannot do /MSG #channel_name [whatever]
which would otherwise be sent to everybody on the channel
Topic control (t) Only channel ops are allowed to change the topic
Channel ops (o [nickname]) Any op can give ops to anybody else, and once that other person gains ops, he has the same power as you do, including the ability to remove your ops or “deop” you, or even to kick you out. This is known as a takeover. Don’t share ops with others unless you trust them fully!/MODE #demo +o buddy
You can also do a few of these together on the same line, such as:
/MODE #demo +ooo larry curley moe
Moderated (m) On a moderated channel, only channel operators can talk publicly, others can only listen and will get “cannot send to channel” errors if they try to talk. The exception is if you are given a voice (+v). Moderated mode is useful for conferencing or keeping control over very busy channels.
Invite Only (i) People can only join your channel if an op permits it. To set it:/MODE #demo +i
Then to let buddy in, use the /INVITE command:
/INVITE buddy #demo
Limited (l [number]) Only that number of people are allowed to /JOIN the channel./MODE #demo +l 20
Later to remove the limit (note you don’t need to specify the number):
/MODE #demo -l
.
Keyword or Password Protected (k keyword) You must know the keyword to /JOIN the channel. To set the keyword as “trustno1”:/MODE #demo +k trustno1
Then in order for somebody outside to join, they must type:
/JOIN #demo trustno1
And to remove the keyword:
/MODE #demo -k trustno1
Channel bans (b [nick!user@host]) I’ve saved this for last becuase it’s the most complicated. After a kick, the offender can still rejoin the channel immediately unless you first set a ban to keep them out (remember to ban then kick, not the other way around). You need to specify a ban “mask” that matches the offender’s nickname, username, and hostname (if you are not crystal clear on the distinction between those three, revisit the /WHOIS command in part 1 now or else what follows will only confuse you more). You also need to use wildcards like the “*” character to replace any part the offender can easily change.
For example, if you want to ban buddy, and his /WHOIS says:
*** buddy is abcd@dialup-6.provider.com (Think different.)
Then the most specific ban mask would be “buddy!abcd@dialup-6.provider.com”(note the use of “!” and “@” to separate the nickname, username, andhostname). If he changes any of those three, however, he can slip right backin! For example, he could change his nickname “buddy” using /NICK. If he’susing a graphical client like mIRC he can change his username “abcd” after aquick /QUIT and reconnect. He can even change the first part of his hostname(“dialup-6”) by dialing up to his provider again. That’s why it might makemore sense to do:
/MODE #demo +b *!*abcd@dialup*.provider.com
Or even a domain ban against everybody from that provider (use sparingly sinceyou may keep out a lot of innocent people):
/MODE #demo +b *!*@*.provider.com
You may view the current bans (from on or off the channel) by leaving off theban mask. In the example below, there are 2 bans on #demo, the first an oldban restored by the server irc.mcs.net when it rejoined after a split, thesecond ban was set by buddy against anybody from the blah.net domain whoseusername contains “foo”:
If you want to remove the first ban, you have to use the exact same ban mask,namely:
/MODE #demo -b *!*@*.dummy.com
Most of the above modes can be combined. For example, to remove the invite-only restriction, while at the same making the channel with topic changed onlyby ops, not allowing external messages, and password protected with “trustno1”as the key:
/MODE #demo -i+tnk trustno1
This section describes how to get more information about the IRC servers youuse. Each server is run by IRC operators or IRCops, who are sometimesmistakenly known as “IRC cops”. These people run each IRC server and try tomaintain a fast, reliable IRC network. They are not cops and do notinterfere in user or channel matters such as restoring ops, fightingtakeovers, defeating bans, nickname disputes, etc. For more information onwhat IRCops do, see the IRC Operator Guidewhich is like a training manual for IRCops, or Monkster’s short OperMyths which definitively lists what IRCopscan/can’t/will/won’t do. If after reading those you still think you need tocontact an IRCop to report IRC abuse, see our IRC loggingguide for directions.
A special word on nukes: denial of service attacks, commonly known as “nukes”, are not part of IRC at all. As such, IRCops have no authority in trying to stop them. See our guide on logging and reporting nukes.
Unless otherwise stated, all commands below apply to your current serverunless you specify another server’s hostname as the optional argument.
/LINKS
The LINKS command shows all the servers currently connected to form the IRCnetwork you are using. If a servermask is specifed, LINKS shows any servers that match the given server mask,which may contain wildcards.
The 1st column is the server name, the 2nd is the server it is linked to, thenumber in the 3rd column is the number of links away that server is fromyours. Caution: don’t do /links too many times or you could be mistaken for atroublemaker and sanctioned.
/ADMIN
Displays the administrative details about a server. Usually this will give youan e-mail address you can use to ask questions or report complaints such asillegal bots (just don’t hold your breath, most IRC ops are very busy people,and see description of IRC op at the beginning of this section so you don’tbother them with takeovers and ops problems).
/MOTD
Gives the “message of the day” for a server which explains the server’spolicies and other information. You should always read this before using anyserver.
In the previous sections, you have learned (1) IRC basics, (2) how to chatboth publicly and privately, including how to exchange files, and (3) wentbeyond the basics to explore channel maintenance and interacting with servers.That should be all you need for now to enjoy IRC. If you are interested inlearning more, check out the many other help files. TheIRChelp.org web site also has many other helpfulfeatures including direct help byIRC, client-specific help files, scripts, lists ofnetworks and servers, etc. Good luck!