IRC Guide

What is IRC?

Internet Relay Chat (IRC) transfers text messages in a chat room setting, or a “channel”. These chat rooms are accessed through IRC clients installed on the user’s system which communicate with the chat servers. Like other forms of chat we are used to these days, you can discuss topics in a group setting or private messaging.

This guide specifically focuses on the basics of navigating the freenode network and especially handy commands to get you chatting with servers quickly and efficiently.

What are the benefits of using IRC?

Those 80,000 Freenode users mentioned earlier know a lot about a lot of things and you can chat directly with them. This is a very powerful tool. You will finally be able to answer the age old question: “If you were in a room with (insert awesome person’s name here) right now, what would you ask him/her?” You are now in the room, the room just happens to have no walls and you haven’t had to leave your house.

IRC is where the open source community gathers. You can connect directly with these people for support and information while also contributing to the mission. It allows you to be part of something that people are very passionate about and invested in.

Plus, it’s free and been around approximately forever. IRC is not going anywhere, and neither will you once you get started.

What is Freenode?

Freenode is a specific IRC network that is used to discuss peer-directed projects consisting of over 80,000 users. These users join channels of interest to share their knowledge and seek out the knowledge of others on specific topics under their chosen nicknames.

What’s an IRC client and how do I get one?

IRC clients are programs that allow you to access the IRC servers.

Client software generally exists across various operating systems, and even within some web browsers. There are a number of clients for both Mac and Windows users and well as mobile. The pretty extensive list can be viewed here and sorted by system. Once selected, you will then want to install the client.

As mentioned in our IRC Setup Guide, we recommend Texual or LimeChat for Mac, mIRC or HexChat for Windows, and HexChat for Linux.

What is BotBot’s role in all this?

BotBot’s role in this beautiful open source world is to act as little butler, of sorts. Once requested by an operator and verified, BotBot will begin logging IRC channels. This can be so handy. All those intelligent discussions taking place that we discussed early will now be recorded and can be referenced for all of time. You won’t have to miss a thing!

He’s here to serve you and make allow you to make the most of your IRC experience. He logs for you night a day, year round. We programmed him not to get tired, so don’t worry about him. He loves working.

How do I get started with IRC?

That’s a great question! We’ve actually written a guide on that as well, you can check it out here.

How do I register my nickname?

Nickname registration is done through the NickServ bot. Luckily for us the people over at freenode.net have answered this NickServ registration question in beautiful detail here.

Do IRC nicknames expire?

Yes, in a way. As stated on the freenode site, nicknames expire at staff discretion. The general rule that is followed is that an IRC nickname expires after it has not been used for ten weeks plus one additional week per full year of registration, with a maximum of five additional weeks.

Also worth noting here is that nicknames not confirmed by valid email address will be automatically dropped after 24 hours. So, confirm and be active and you will have nothing to worry about!

Any general etiquette tips before I get started?

In order to fully experience the true benefits of IRC one must adhere to a basic protocol concerning procedure and conduct.

Lucky for us, the folks over at #Beginner have created a really great summary of such “unspoken” but suggested rules. The freenode site itself has a list of such expectations as well.

How do I join a channel?

/join #channelname

/join #lincolnloop

How do I leave a channel?

/part

How do I leave all channels that I am in?

/partall

How do I clear text in my current channel window or all windows?

/clear or /clearall

What do all the different channel modes mean?

Channel modes are set by the channel operator and helps manage the overall functioning of the channel. You can find an incredibly handy list of modes and their meanings here.

Why can’t I talk in certain channels?

There are two common reasons for not being able to talk in certain channels. One is that you may have been silenced. If you feel this was done unrightfully, you should contact that channel’s operator.

Another reason may be that the mode of the channel is set to +m, which means that only voiced users and operators can speak. You should be notified of the mode upon joining the room.

How do I set an away status?

/away set message

/away this bot needs coffee!

How do I convey an action?

/me does something

/me waves hello with robot hand

How do I change my nickname?

/nick newnickname

/nick botbottoo

How do I ignore someone?

/ignore nickname 3

/ignore botbot 3

What are user modes and how do I set mine?

User modes (or umodes) are not to be confused with channel modes, which can only be set by operators. A user mode allows you to specify a number of configurations while in IRC, like how easy it should be for other people to find you.

You can find a list of user modes and their meanings here.

User modes are usually set as follows: /mode nickname +/- mode(s)

/mode botbot -k

How do I change my password?

/msg NickServ SET PASSWORD mynewpassword

/msg NickServ SET PASSWORD iluvbots

What does a channel OP (operator) do?

A channel operator is the channel’s chief administrator. This individual can set the channel topic, approve channel logging with BotBot, set the channel mode, oversee user interactions and ban certain users when necessary, and provide general channel maintenance.

A channel operator is not to be confused with an IRC operator; IRC operators enforce network, rather than channel, rules.

How do I know if someone is an OP?

When you join a channel it will display which user set the channel topic, in most cases this will be the username of the operator. In addition, the operator will usually have a, “@” symbol by their username in the list of users.

You can also find out who all the operators in a room are with the following command: /msg ChanServ ACCESS #channel LIST

/msg ChanServ ACCESS #lincolnloop LIST

What does a user having “voice” mean?

Channel operators can select certain users to “have a voice”. This “voiced” user will have a “+” symbol by their user name and be able to speak when the +m mode is set. This mode signals a moderated channel, in which only the OP (@) and voices (+) can send messages to the channel while all other messages are blocked.

How do I see more information about a user?

/whois nickname

/whois botbot

How can I know if a specific user signs on?

/notify nickname

/notify botbot

How do I private message someone?

/msg nickname message (will open new window)

/msg botbot Hey, how's it going friend?

How do I send a short message without opening a private window?

/notice nickname message

/notice botbot Oh, hi there, nice to meet you.

How do I ping someone?

/ping nickname

/ping botbot

How do I only message the OPs?

/omsg #channel

/omsg #lincolnloop

How do I contact an offline user?

freenode allows you to send a message to an offline user. That user will then by notified once he/she comes back online or even get an email notification (to enable these notifications: /msg NickServ SET EMAILMEMOS ON).

To message an offline user: /msg MemoServ SEND nickname message

/msg MemoServ SEND botbot Just wanted to say I Love You.

What are the general guidelines for a channel OP?

Being a channel operator is a big task, so we are glad you are taking it seriously! IRChelp.org has a well layed out Operator’s Guide to help get you started. Also, a fantastically handy list of operator specific commands can be found here, below the general user command section.

How do I set a channel topic?

/topic #channel enter topic

/topic #lincolnloop Lincoln Loop Public Chat https://botbot.me/freenode/lincolnloop/

How do I kick someone off the channel?

/kick username

/kick botbot

How do I set a channel mode?

/mode #channel +/- mode(s) set parameters

Note: only certain modes require additional parameters.

You can find an incredibly handy list of modes and their meanings here.

/mode #lincolnloop -ps

How do I remove someone’s voice status?

/devoice nickname

/devoice botbot

What is ChanServ?

ChanServ is a “Channel Service” bot. This bot governs the creation and operation of channels on the network and allows any user with a registered nickname to create a channel.

ChanServ also helps protect channel operators from channel take overs by allowing the operator to not always have to be in the channel to maintain their status and helps run for the channel alongside the operator.

How do I get general help info from the server?

/msg ChanServ HELP or /msg ChanServ HELP [papameters]

/msg ChanServ HELP REGISTER

How do I know if my channel topic is approriate for freenode?

That’s a fantastic question! The helpful staff over at freenode have put together a list of on-topic uses and off-topic uses of the network.

Taking a look at the freenode philosophy should also help you determine whether or not your potential channel is acceptable on freenode specifically.

How do I register a channel?

freenode has you covered when it’s time to register your channel, walking through the channel registration process in detail on their staff blog. Before you start, however, you will want to make sure your nickname is registered with NickServ.

How do I customize my channel with ChanServ?

ChanServ allows operators to set their channels up to do certain things automatically. This “custimization” is done through matching a certain feature with a numbered level through the use of the ChanServ levels command (/cs levels).

To view a list of levels for your channel: /cs levels #channel list

To change levels: /cs levels #channel set option level

You can find a list of default ChanServ levels and their descriptions here.