IRC/Guide

This guide provides a broad overview of things IRC related. It is handy for those who want to go deeper than the IRC article. Topics such as IRC concepts, usefulness, clients, convenience, and securing will be covered in this guide.

What is Internet Relay Chat (IRC)?
Internet Relay Chat (IRC) is a way to communicate about a specific topic of interest in real time over the internet with other people. If put into physical terms it can be thought of as a room filled with people sitting around tables. Each table has a focused topic of discussion. Some of the people at the tables are actively engaged in conversation, others are actively listening to the conversation, still others attention have moved away from the topic and are ignoring the conversation entirely. In IRC terms, each table in this illustration is a channel (often a  is used to denote specific channels). There are many other terms that should be described in order for the reader to develop a full understanding of IRC.

Terminology
When learning new technologies it is important to understand and implement precise terminology. Using correct terminology is helpful to both readers and writers because distinctions must be made in order to accurately transmit information. Several IRC related terms are used in the next sections; unless the reader is completely comfortable with the terminology of IRC it is wise to briefly scan through them to gain an understanding before proceeding:

Usefulness
IRC is for communication. In the Gentoo project it is among the primary means of:


 * Getting support
 * Providing support to others
 * Fulfilling the desire for a community
 * Tracking or discussing bugs on Bugzilla
 * Discussing Wiki-related content or changes
 * Tracking Wiki changes
 * Discussing Gentoo website related changes
 * Making a complaint, feature request, or suggestion (any project specific channel)

Networks
For the Gentoo project and its related sub-projects the irc://irc.gentoo.org URL can be used in a client in order to connect to the correct location. irc://irc.gentoo.org is a redirect to irc.freenode.net. Either one of these URLs can be used, although in the event that the Gentoo project should onto another network in the future irc://irc.gentoo.org is safer to use. For now both URLs point to the Freenode IRC network.

Channels
Channels locations where communications occur; the chat rooms of IRC.

In the bullet point list above there is a hash tag and a short string with the prefix of  for most of the entries. This short tag is a reference to a few of the channels available to IRC users.

For a full list of official Gentoo related IRC channels, see the All IRC Channels page on the main site.

Nick names
IRC users have historically followed a convention of creating nick names (which is used as their primary handle) when to refer to themselves. Each developer in the Gentoo project has a nick name. When a user or another developer wants to get the attention of a specific developer mentioning their nick name will (generally) send some kind of notification event. Notification events are different on a per-client basis, however all good clients provide notification.

Message of the Day (MOTD)
In general, each channel a user visits will have a Message of the Day (MOTD). Most IRC clients can be configured to automatically display or not display the MOTD upon joining a channel. Reading the MOTD can be helpful to determine the topic at hand and the rules of the channel.

Bots
In the IRC world (because comparing IRC to a whole new world is entirely appropriate) bots have been created to help mankind accomplish tasks. Most of the time bots lurk in various channels watching channel logs and storing up information for a time when it is needed by a human. When a piece of information is needed, special bot commands can be written to the buffer window in order to query the bot to provide requested information.

Gentoo uses a bot called Willikins, which has been built from rbot.

Installation
Before an IRC client is be installed, a few of the available clients should be reviewed. IRC clients enables users to connect to an IRC server. After a connection to the server a channel can be entered. Inside channels is where the action takes place. Many clients exist, each with their own features, advantages and disadvantages. Review the list of available clients below:

If needed, click the name of the client software to gather more knowledge on installation, configuration, usage, etc. Return to this article after a client has been configured.

Nick names
Like on websites and forums nick names are used on IRC. Choose a nick name and setup the IRC client to use the nick name each time it connects to the network. This process is different for each client. If any extended length of time is to be spent on IRC it is important to register a nick name for personal use so that the nick name is available on each connection. Without registering a nick name other users may claim the nick name or pretend to be you.

After connecting to the Freenode Network, follow these steps to register a nick name.

Upon successful identification of a nick name the following message should appear:

Securing
IRC software is like any other software: it needs to be secured. There are several methods to security for IRC clients.

Cloaks
Cloaks help users stay secure on IRC by hiding the user's IP address. Without a cloak all users on the channel can ask for an /info or a whois on the uncloaked user and see the public IP address their client is using to connect. If the user is connected from home via their primary internet connection, which is more than likely the case, this can potentially have negative consequences. There are exceptions to this rule. Some users connect to the IRC server through proxy connections, onion router networks (Tor), or other means in order to conceal their IP actual IP address. In these cases (without a cloak) an IP address will still be visible, but it will not be the actual (original) IP address of the client.

If the reader of this guide will be doing any long-term communication over IRC, obtaining a cloak should be a high priority.

Two types of cloaks exist:


 * Affiliated cloaks - These kind of cloaks are given out by various projects. They are to associate the user's nick name to a specific organization on the IRC network. When a user is on staff with an organization that has a presence on Freenode, an affiliated cloak should be obtained.
 * Unaffiliated cloaks - Unaffiliated cloaks exist for all users who are not part of an organization with a presence on Freenode. These can be obtained by asking an Admin on the network. Most users think these are difficult to obtain; they are not. The Admins on the Freenode network provide unaffiliated cloaks to users who ask for them in . For the reader interested in a cloak, enter into the   channel and simply ask (politely) for an unaffiliated cloak. It could take a few minutes for someone on staff to notice the query, so keep an active watch for someone to reply.

Tor
At this time connecting through Tor to the Freenode IRC network has been disabled. It turns out too many users were abusing this service. If this service is restored in the future this section of the article should be updated with proper connection instructions.

Invocation
The invocation of relay chat software will change based on what chat client has been chosen for use. To start command-line clients such as irssi or weechat open a terminal window and call the program:

Graphical clients such as KDE's Konversaion or GNOME's Pidgin are usually called through an icon in the desktop environment.

Client
Client commands will change based upon the client in use. Visit the respective software article or see the client's man page for information on commands specific to the client in use.

Server
When corrected to a server, the server software will dictate what commands are or are not acceptable. Keeping in theme with other ares of this guide, the Freenode IRC network will be used to exemplar server commands.

Message the ChanServ user in order to gain a list of available server commands. This can be done by issuing a /msg command:

Or by opening a new buffer/chat window directly to ChanServ.

Channel
These kinds of commands narrow in scope to the channel they are executed in.

Bot
For Willikins, Gentoo's helper, use Bot commands are covered in the Bots section below.

There are many IRC bots that are available for general use in IRC channels. Since each of them are separate projects, Bots do not have a unified command interfaces. Research the bot software or ask a user in the channel for help interacting with the bot.

Channel guidelines
It is typical for each IRC channel to have guidelines. Gentoo's official IRC guidelines can be seen on the main site, however they will be repeated here for the reader's convenience:


 * Please act sensibly and maturely, abiding by the Code of Conduct.
 * Please read the topic when entering a channel, it contains valuable information!
 * Bots or scripts that talk or create public logs are not welcome in most channels. If in doubt, please ask.
 * Please do not use CTCP VERSION or the like on users/channels without their consent.

It is important for each potential IRC user to read the Behaviour and Consequences section of the Code of Conduct.

External resources

 * http://www.irchelp.org/ - A site dedicated to helping users understand IRC.