Digital Noesis

How to Configure Networks, Servers and Channels on irssi IRC Client

irssi is a favorite irc client of many because of it is lightweight, configurable, handles many networks well, and runs in the shell. This guide is a walk through of basic configuration after installation.

Networks

Networks, servers and channels are configured in that order. First you define the network, then the servers, then the channels. First let's add a network:

/network add -nick [yournick] -user [username] -realname "[realname]" [network name]

where:
-nick [yournick] is your displayed nick when you connect.
-user [username] is your username (sits in front of hostmask, [email protected]) on networks that accept that (most don't).
-realname "[realname]" is whatever you want to put for real name for whois, generally people use handles on IRC.
[network name] is the name of the network without spaces. This is placed at the end. Choose something easy to remember since that is what you'll type when manually connecting to this network

Example: '/network add -nick apparat -user apparat -realname "Mr Apparat" GammaForce' where you want your nick, username and realname to all read apparat and the network to be named GammaForce. Because all these details are set separately, this allows you to have different usernames and information on various networks.

Now verify the addition:

/network list

You should see the default networks along with the irssi defaults. If you'd like to remove a network, the process is simple:

/network remove [network name]

We've now created a network, the next thing to do is tell irssi what servers this network uses.

Servers

To add a server for the recently configured network, the commands are similar:

/server add -network [network name] [server address] [port]

where:
-network [network name] is the network you are adding the server to.
[server address] is the hostname or IP address of the server.
[port] is the port number to connect with.

Keeping with the first example: '/server add -network GammaForce irc.gammaforce.org 6667' will add a server to the network GammaForce defined earlier. We can confirm the addition by using:

/server list

Similar to networks, to remove a server use:

/server remove [server address]

Autoconnecting to Servers

A popular feature is to autoconnect to specific servers when irssi starts. This is done by adding -auto in front of the server address like so:

/server add -network [network name] -auto [server address] [port]

Check to see if a server is autojoin or not by typing /server list

Channels

Adding channels to networks follows the same pattern.

/channel add -auto [channel] [network name]

where:
-auto is the optional modifier to automatically join when connecting to that network.
[channel] is the channel
[network name] is the network name.

So in our example '/channel add #moo -auto GammaForce' will automatically join us to the channel #moo when connecting to the GammaForce network.

Like servers and networks, we can confirm our additions by using:

/channel list

Authenticate with NickServ & Bots

Many networks have a nickserv and/or bots to authenticate with. This is done by sending a message upon connection. We can do this automatically with irssi using the -autosendcmd modifier and adding this to the respective network like so:

/network add -autosendcmd "[string used to authenticate]" [network name]

where:
-autosendcmd "[string used to authenticate]" is the command string you would use to authenticate if manually doing so on the network.
[network name] is the network name to automatically send the string for when connected.

For example /network add -autosendcmd '/msg nickserv identify samplepasscode' GammaForce would send the command /msg NaCHoCoW enter #moo apparat examplepasscode each time you connected to GammaForce.

Multiple Authentications

Some networks you may have multiple authentications required, say one for nickserv and one for a channel bot. This is also possible to automate with irssi by simply adding a ; in-between the two strings.

/network add -autosendcmd "[string 1 used to authenticate];[string 1 used to authenticate]" [network name]

So for our example to authenticate with nickserv and a bot, we'd use /network add -autosendcmd '/msg nickserv identify samplepasscode; /msg NaCHoCoW enter #moo apparat examplepasscode' GammaForce would send /msg nickserv identify samplepasscode and /msg NaCHoCoW enter #moo apparat examplepasscode subsequently.

Window Layouts

The window order of the channels is that of the order in which they are automatically (or manually) joined. You can override this by repositioning them and saving a window layout.

To reorganize the window order, simply move the each window you want to move using /win [number] (or control + [number] / however your terminal is bound) and then /win move [number desired].

Save the layout by typing /layout save

Save the Configuration

Finally, to save the networks, servers and channels added, type /save. Confirm the settings were saved in the status window.

irssi is now configured for your networks, servers and channels. For full documentation on irssi, visit the official website.

Using Screen

Many people run irssi within a screen session, which allows you to access your irssi session from multiple locations. For example, load irssi within a screen session on a shell account, detach from it, then move to your laptop, reconnect to the shell account, and re-attach to the screen session where irssi is still running.

To start irssi within screen type on your terminal:

screen irssi

You can now use irssi as usual.

Let's say you are going to log off your server, but still want irssi to continue to run:

Ctrl + A + D

To re-attach to screen from a new location, you simply log back into your shell and then type

screen -rd

where:
-r is to reattach
-d detach a screen open elsewhere (so it can be attached here)

For a comprehensive guide on using screen with irssi, visit A Guide to Efficiently Using Irssi and Screen.