MawNet's user guide to IRC

This is intended to be a fairly general guide to using IRC. I think for properly using it, it's important to understand what IRC is and where it comes from, so you can better understand its shortcomings. Therefore, I dedicate some paragraphs to this as well.

Table of contents

Skip directly to any section of this guide:

  1. What is IRC?
  2. Why would I use IRC?
  3. How do I use IRC?
  4. What should I keep in mind while using IRC?

What is IRC?

IRC (Internet Relay Chat) usually refers to a system of plain-text communication between a bunch of people. To be more precise, you could define its parts like so:

IRC has been around since 1988. It's outlived tons of other proprietary chat systems, and it'll outlive Discord and Slack, too.

Why would I use IRC?

A lot of communities these days use applications like Discord for communication. Discord is by no means a bad chat platform in terms of features, however, there are many downsides to using it:

Now, for fairness' sake, I should also list some downsides to using IRC, or why you might not want to use it:

How do I use IRC?

Find an IRC server

There's lots of IRC servers out there. Which one you want to join is up to you! If you just want to join MawNet, skip this section. I'll list some of the more popular ones:

There's other ones, but those are the three biggest. On any server, you can register channels and make them private and invite-only, so there's no concern about people being able to see your messages if you choose not to make them visible.

Install an IRC client (or use webchat)

You need to connect to the IRC server somehow. Make sure that you know the IRC server's address (in MawNet's case, it's maw.network). If you want to try IRC before downloading a client, most bigger IRC networks offer some kind of web-based IRC client where you can connect as a guest. In many cases, this is KiwiIRC.

Now, I'm going to list some IRC clients for various platforms. This is not an exhaustive list, but they're the ones I like best:

(A note on iOS: Because of Apple's restrictions on background connectivity, there are very few, if any, suitable IRC clients. I suggest using web clients, or searching for yourself to see if there's anything out there for you. Godspeed!)

If you're comfortable with the command line, you might want to check out the following:

Connecting to a server

Once you've downloaded your IRC client, it'll most likely prompt you for a server address (which you should have by this point) and a nickname. A nickname on IRC is the name other people see when chatting with you. It's not permanent, but there are ways to register your nickname so nobody else can use it to pretend to be you on most IRC servers. The IRC server will warn you when a nickname is already in use, in which case you'll have to pick a different one.

If there are fields for a "server password" or a "port", leave those empty unless you know the server uses a specific password or port. The port is usually 6697. If it says 6667, change it to 6697.

When connecting to an IRC server, you'll see some statistics about how many users are online, how many channels exist, how many staff members are online, and so on. Below that is the MOTD (message of the day), a way for the server to give you a custom greeting and instructions about what channels you might want to join.

Joining channels

Unlike Discord, which automatically puts you in every channel you have access to, IRC does the opposite. It won't join you into any channels by default. Instead, you're free to pick and choose which channels you want to join, and you can freely leave them as well.

You can quickly get an overview of what channels are available to join by typing in /list (slash list) into your client's message box. What the list of channels looks like depends on the client you're using, but usually it'll include the channel name, the number of users connected to it, and the channel's topic, which functions just like a Discord topic. Keep in mind that /list is not exhaustive. Operators of a channel may decide to hide their channel from this list.

To join an IRC channel, click on one of those channels in the list, or, if your IRC client doesn't let you do that, type /join #channelname into the message box. Now you can chat with people as much as you want. To leave a channel, navigate to the channel, then type /leave.

Sending direct messages

IRC supports direct messages between two users. Your IRC client may let you right click a user in the user list for a channel and start a conversation with them directly, but if not, you can type /msg otheruser my message text to start a conversation manually.

Registering your nick

A lot of IRC servers will restrict what you can do until you've registered your nickname. You may also want to do this to claim ownership of it, in order to prevent people from impersonating you. This can be done on most IRC servers using the Nickname Service (called NickServ). This is an IRC user that will automatically make sure that your nick isn't used by anyone else.

The main way to interface with NickServ is via direct message. However, most IRC servers provide a shorthand for this: /ns <message content> or /nickserv <message content>. To register, the common form is: /ns register <password> <email>. Keep the password somewhere safe, you'll need it to identify yourself as the owner of this nickname. Some servers also send out an email to verify you're not a bot.

Congrats, now your nickname is yours! Every time you log in, you can type /ns identify <password> to identify yourself as the owner of this nickname. Your IRC client may allow you to automate this by prompting for a NickServ password. Alternatively, many IRC servers support something called SASL, which allows you to provide a username (your nickname) and password to authorize yourself before even connecting to the server. A client may not necessarily use the term "SASL" for this, but if you're using a modern client, and it asks for a username and password combination, that's usually SASL.

Channel permissions

Unless the server administrators have overridden this, IRC allows anyone to register their own channels. Before we can talk about how to do this, it may be better to talk about channel permissions first. In Discord, this is solved via roles. IRC does not have roles. Each channel has its own set of permissions. People who have channel permissions are typically displayed separately in the user list and may appear with a character in front of their name (e.g. +luke or @stella). The five common permissions for channels are:

This is outside of the scope of this guide, but if you want to persistently give another user some permission, this is the command to remember: /cs amode #channel +v username (giving username voice on #channel in this example).

Registering a channel

Now that you know how channel permissions work, let's register a channel. You can /join any channel, even if it doesn't exist. If the channel isn't registered and you're the first person in it, you'll automatically receive admin permissions. You can tell by your username now being prefixed with an @ symbol, and your channel prefix being +o.

In this state, you should be able to register the channel. You can write the IRC service that keeps track of channel management, usually called ChanServ (short for Channel Service), a message that says register #channelname. On many IRC servers, this is simplified into a single command: /cs register #channelname.

Once your channel is registered, ChanServ will grant you founder status (your name is now ~myusername). Now, you can start doing a bunch of different things:

What should I keep in mind while using IRC?