A Beginner's Guide to IRC
The short and quick version
IRC stands for Internet Relay Chat, an open protocol that lets people chat online in real-time.
First, you will want to find an IRC client. The IRC client will connect to a server on the network to communicate with other users. Each network is made up of many servers.
Searching for IRC network to connect to
There are an enormous number of IRC networks to choose from. IRCNow is one such network -- it's an all-purpose network built on principles of user freedom.
Netsplit.de contains a large selection of other popular networks. irc2go also provides a way to search popular networks and channels.
Joining, managing, and leaving channels
Finding a channel
After you connect to a server, you will want to join a channel. A channel is a chat
room. On IRC, channels generally begin with the hashtag (#).
On networks like Snoonet, Freenode, and Libera.Chat, a single hashtag (like #ircnow) indicates an official channel, whereas two hashtags (like ##chat) is an unofficial channel. Channels beginning with an ampersand (&) are usable on one server only.
To find channels to join, in your IRC client, type /list
. On most networks,
this will list all available channels. Some networks like Freenode and Libera.Chat
will use a bot called alis. To use this, type /msg alis help
.
Joining and leaving channels
To join a channel, type /join #channel. To create a channel, you simply /join an empty
channel. A channel is automatically created when the first user joins, and is destroyed when the last user leaves.
You should see a list of users in the channel when you join it. If you want to see
them again, type /names.
To chat, simply begin typing in the window and press enter or the return key to send.
To leave a channel, type /part.
Notice how commands on IRC begin with "/".
Inviting friends
To invite a user to your channel, type /invite nickname #channel.
Managing a channel
Every channel has its own ops, the people who help maintain order in a channel.
When you first join a channel, you are automatically channel op. You will get
an @ sign in front of your nick (sometimes referred to as a snail).
To make another user a channel operator, type /mode +o nickname.
Messaging
To send a private message (PM for short) to a user, type /msg nickname Hello, world!
. Replace the nickname and the message.
Kicking and Banning Users
Sometimes you will have troublesome users. IRC allows you to:
kick a user from a channel immediately
ban a user from entering a channel
Many new users find it confusing that kicks and bans are distinct.
To kick a user from a channel, type /kick nickname
. This immediately kicks a user
from a channel, but it does not stop him from rejoining immediately after being kicked.
To prevent an abuser from rejoining a channel, you must ban the user. So actually,
removing a user generally requires both a kick and a ban.
Vhosts
On IRC, every client that connects to a server will have a vhost that looks like this:
nickname!username@hostmask
If you type /mode +b nickname, you will ban nickname!@, where the asterisk * refers to any match. That is, you will ban all users that have the same nickname, regardless of what their username or hostmask is. This is not, however, what you really want. Any user can simply change his nickname and rejoin the channel.
You might therefore choose to ban a user based on his hostmask, which is usually the same as his IP address. If you type /mode +b !@hostmask, this will ban all users with the same hostmask, which is usually a ban on the IP address.
Unfortunately, there is another complication. Some IP addresses might have multiple users connecting to it, such as if the IP address is hosting a bouncer. To ban only a single user from this IP address, you will want to type /mode +b *!username@hostmask. This will ban all users with the username and hostmask, which should only be one user instead of all users.
To find out more information about a user, type /whois nickname and /whowas nickname. Some users will try to mask their IP address to increase privacy. This is particularly important because IRC is filled with criminals who might try to attack you. There are two ways to do this: one is by ?using a bouncer, the other is by cloaking it. Cloaks may occasionally leak information if used improperly and require requesting a cloak from each and every network you connect to, so we recommend using a bouncer where possible.
To learn more about the commands in your IRC client, type /help.
To quit your IRC client, type /quit.
Design of the IRC protocol
The beauty of IRC is that IRC is an open protocol that anyone can write software for. As a result, there is no official IRC client; there are instead hundreds. Here is a list of some of the most ?common IRC clients.
When you connect to IRC, you will be asked for the hostname and port of the server, as well as whether you want to use plaintext or SSL (a secured connection). The hostname will look something like irc.ircnow.org. The port will often be 6667 for plaintext and 6697 for SSL. Enabling SSL will ensure that your connection is secured by encryption. Make sure that you have the correct port and that you check if the port uses SSL or not. Using the wrong port and putting the incorrect setting for SSL is a huge cause of connection problems. It is not possible to use SSL on a port if the server doesn't support it.
Once you connect to a network, you can type /list. This will list all the visible channels on the network so you can find one to join.
What most users find surprising about IRC is that by design, you don't have to register to chat. You can pick any nickname/real name you want. The main benefit of this design is that you can be totally anonymous on IRC, something which is impossible on most social networks. As you might expect, however, this can be confusing and can lead to impersonation, harassment, and spam. As a result, many IRC networks encourage you to register and claim your nickname.
IRC Services
There is no uniform IRC services, so every single network implements its own services in a different and contradictory way. For now, we'll discuss NickServ, which is used most commonly on IRC networks.
To interact with Nickserv, you send the message /msg Nickserv , like /msg Nickserv help. This will show you all the options available to register a nick, reset a password, and so forth. Once you register a nick, you can then register a channel. To do so, type /msg Chanserv , like /msg Chanserv help.
Bouncers
Because of the way IRC is designed, servers do not store messages for clients.
Servers only relay messages to clients. This means that when you disconnect, you can't
receive any messages. Whenever you turn off your phone or shut off your PC, you
disconnect and could lose messages. For this reason, we recommend
?signing up for a bouncer.
Extra comments from other sites
To protect your privacy, you will want to use a bouncer, VPN, or tor.
With all three services, it is possible your privacy may still be compromised.
You will want to make sure your provider is trustworthy.
Be careful when identifying with NickServ. If you send the message to the wrong window
or you make a typo, you might accidentally reveal your password. Always double
check before identifying.
User modes
Channel modes
First. Modes set by an op upon a channel.
Second. Modes set by an op upon its users, giving them privileges or restrictions.
- To set modes, use /mode, with the following parameters:
First. The target of the mode, be it a user for the first division of modes, or a channel for the second.
Second. + or - and the mode or modes to be added or removed.
Third. Any parameter for the mode.
To key a channel:
/mode +k password
To make a channel invite only:
/mode +i
To half-op someone:
/mode +h username
To voice someone:
/mode +v username
To prevent unregistered users from joining:
/mode +R
- To prevent unregistered users from joining, +r.
EDIT: As this is a common countermeasure recommended, it should be noted that often the chanmode is +R.
To prevent unvoiced users from chatting (while allowing them to view):
/mode +m
Note. You may want to use LEVELS SET AUTOVOICE 0 to auto-voice people, and then strip voice when they become troublemakers.
To change a channel topic:
/topic This is the new channel topic!