IRC is a mode on textual communication over the internet that is old as fuck. IRC was IM before IM was called IM. Before America Online chatrooms and ICQ there was IRC. Internet Relay Chat. IRC still lives on today with millions of users chatting on hundreds of thousands of servers all over planet Earth.
IRC works in a centralized way. You have one central computer that is running the software needed to work as an IRC server. People with computers that have IRC client software installed can connect to this server. Once connected the person can choose to go into a "channel" where other people are haning out, and talk to them. They are called "channels" but if you've never used IRC before you can think of a channel as a single "chat room", which is a term younger people might be more familiar with. Channels are denoted by number signs, or "hashtags", again as the young people might know them. For example, the address of a hypothetical server might be "talk.coolirc.com" and a channel on that server might be "#cars" if a bunch of people wanted to talk about cars or a "#camping" channel for avid campers. However, do not call a channel a "chat room" or a "hashtag" at any point. Ever. That is not what they are. If you say such things you will be laughed at and you will deserve it.
There are lots of GUI based IRC clients out there. Hexchat, LostIRC, Chatzilla, Cable, to name a few. There are a bunch of CLI based ones too, but out of the CLI ones that exist there are only two big ones that get any real use and both are very popular. They are named Irssi and Weechat. GUI clients are much less difficult to learn to use than any CLI clients, but a lot of people prefer controlling everything from only the keyboard, and any kind of program that runs in a terminal probably uses way less power and system resources than any GUI program would that preforms the same task. My personal favorite IRC client is a CLI one called Weechat, and that's what I'm writing about here. It's light on system resources, is extendable via plugins, and is available in English, French, Japanese, German, Italian, Polish, Spanish, and Russian languages.
Weechat is available in the repos of many many Gnu-Linux ditros. Probably all of them. For most, just putting a simple command into the terminal will have your Gnu-Linux distro go and install it for you. So open up a terminal! In Debian Gnu-Linux, or anything based on top of Debian Gnu-Linux like Trisquel Gnu-Linux or Ubuntu Gnu-Linux or Rasbpian Gnu-Linux, the command to install Weechat would be:
sudo apt-get install weechat
In Arch Gnu-Linux, or anything based on top of it like Parabola Gnu-Linux or Manjaro Gnu-Linux the command to install Weechat would be:
pacman -S weechat
Wait for that to finish. Now, for whatever distro of Gnu-Linux you have, you should now have Weechat installed. Let's talk to some people.
Next let's find a server and talk to people. I won't be using made up examples here, I'm gonna have you connect to a real server, join a real channel, with real people in it. Whether or not anyone in the channel will actually be talking or not is up to them. The IRC server I'm going to have you connect to is named Rizon and the channel I'm going to have you join is called #Chat. There's normally a bunch of people in there, so I think #Chat would be a good first impression. In any terminal type this command to start Weechat:
weechat
Now that Weechat is running it puts you at it's main screen. Each screen is called a "buffer". Each buffer contains an IRC channel you are currently in, plus the main one, what you're looking at now. The main buffer shows you anything that the IRC servers themselves or Weechat itself needs to tell you. You can't really do anything at this screen other than change the settings and connect to IRC servers. There are many IRC servers located all over the world where inside each server are many communities of hundereds or thousands of people, separated by channels. Channels are denoted by a #
and inside each channel is where the other users are. Anyone can make and manage a channel for or about anything. One channel could be made for subjects like #politics
or #astronomy
, or channels made for places as in #boston
or #iceland
. Whether or not such channels exist on a particular server is another story but the point is there can be channel anything and there can be anywhere from zero to five hundered people in that channel. But first you need to find a server. You might be introduced to a sever from anywhere but I'm just going to show you one here so you can practice. Let's go with the Rizon server. The Rizon server is located at irc.rizon.net
and to connect to you would have to enter the command connect. All commands in Weehchat are started with forward slashes. Some examples are:
/connect
/join
/close
/query
/nick
To connect to the Rizon server type this and press enter:
/connect irc.rizon.net
Wait a moment or so, and you are now connected to the Rizon server. From there you can join any channel you want, or privately message any individual user who is also currently on the Rizon server so long as you know their nickname. You can change your nick as well. By default Weechat will use the name you use for yourself to log into your computer. You can change it with the nick command. (So long as someone else on that server has not already taken the name.
/nick alice
If you entered this then your nickname as shown to everybody else on that server will be "alice" so long as nobody else on the Rizon server is using that name. Now let us find a place to hang out. For the sake of ease let's just go to a channel called #chat
with the /join
command.
/join #chat
Weechat will now join the #chat
channel, mayber there's a lot of people talking in there right now, maybe there's not. Maybe there's five hudred people inside the channel but they are not talking about anything. Or maybe the channel is is moving a million lines a second. Who knows, point is, you're there. In the right hand bar you can see a list of names, these are people in the channel with you. Let's say you think one of them is, nicole, yeah, nicole seems cool. You want to talk to nicole privatly instead of the whole whole channel full of people having to deal with you and nicoles private conversation. You do this with the /query
command, the users nick, and what you want to say to them.
/query nicole Hey!
Weechat will now have opened a new buffer where it will show you the conversation bewteen you and the user nicole. Currently all that will be in it is the word "Hey!" because that's all you've said to nicole so far. Nicole might respond right away, or maybe they don't feel like talking to a stranger like you. Anyway, you're probably thinking how to get back to the main channel that you were just in, right? Remember for a moment what Weechat is managing for you right now. It has three buffers open, first the main buffer, where messages from weechat itself and from the server(s) you are connected to are kept, the next is the buffer that has the #chat
channel in it, and the third buffer containing your conversation with nicole. Navigation is real easy, you can cycle back and fourth as much as you want by holding down the ALT key and using the left and right arrow keys on your keyboard. Magic.
Alright, let's say you are in more channels than just #chat
and the people there are being assholes or something, or for whatever reason you want to leave. In the buffer of that channel you just type the close command. You can even do the same with the open buffers of private conversations that come from the query command.
/close
Now, you don't want to be typing in the same commands every time you start up weechat, yes? Imagine after opening a terminal and after first typing weechat
you then would have to type /connect irc.rizon.net
, wait a moment, and then type /join #chat
before you could even talk to anybody! That would be quite annoying. So lets make Weechat do it for you. You first create a new server for it to connect to on startup:
/server add rizon irc.rizon.net/6667
With that line you added a new sever to Weechats settings file titled "rizon" with the address "irc.rizon.net" connecting on port 6667. Next add the channel you want to automatically join:
/set irc.server.rizon.autojoin "#chat"
Now to tie it all up you tell Weechat to automatically connect when you start it. We told it what server and what channel, now just to this:
/set irc.server.rizon.autoconnect on
Done! Now every time you start Weechat it'll automatically connect to that server and join that channel for you.
Now let's say you're all done with IRC for the day. Exiting Weechat is pretty simple. The quit command will make you leave any channels you are sitting in, close all open connections to any servers you connected to, and kill the Weechat program.
/quit
There. Now you know all the basics of using IRC through the IRC client called Weechat. You can connect to a server, enter a channel, talk to an inividual, leave, and kill the program. There's a lot more one can do with the IRC protocol, and there are many more things that Weechat itself can do. But this is just a basic intoduction to those two things. I hope this knowlege is useful to you.