irssi is a command-line IRC client. When properly configured, it can automatically reconnect and re-identify to channels without any user intervention. It is ideal for use on a reliable (always up) Linux server, where your session is maintained between uses via terminal utilities like tmux or screen.
Download irssi from the official site or using your favorite package manager. On Ubuntu, run apt-get install irssi. On Gentoo, emerge --ask net-irc/irssi.
Themes are available on the official site. I recommend Zenbarn (pictured above).
Scripts are available on the official site and should be placed in ~/.irssi/scripts/. I recommend:
/##/clonesLoad scripts with /script load script.pl
To automatically load a script when irssi starts, create a symbolic link to it in ~/.irssi/scripts/autorun/:
user@host ~/.irssi/scripts/autorun $ ln -s ../script.pl
The following is my ~/.irssi/config file. Add your commonly used networks and enter your personal information. If you decided against zenbarn, set the theme attribute accordingly. Note the additional settings at the end of the file.
servers = (
{
address = "irc.freenode.net";
chatnet = "freenode";
port = "6667";
autoconnect = "yes";
},
{ address = "irc.efnet.org"; chatnet = "EFNet"; port = "6667"; },
{ address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; }
);
chatnets = {
freenode = {
type = "IRC";
autosendcmd = "/msg nickserv ghost mynick mypass;wait 2200;/nick mynick;wait 2000";
max_kicks = "4";
max_msgs = "3";
max_whois = "30";
};
EFNet = {
type = "IRC";
max_kicks = "4";
max_msgs = "3";
max_whois = "1";
};
DALnet = {
type = "IRC";
max_kicks = "4";
max_msgs = "3";
max_whois = "30";
};
};
channels = (
{ name = "#digitalocean"; chatnet = "freenode"; autojoin = "yes"; },
{ name = "#multirpg"; chatnet = "freenode"; autojoin = "yes"; }
);
settings = {
core = {
real_name = "John Doe";
user_name = "mynick";
nick = "mynick";
};
"fe-text" = { actlist_sort = "refnum"; };
"fe-common/core" = {
autocreate_own_query = "no";
autocreate_query_level = "DCCMSGS";
use_status_window = "no";
use_msgs_window = "no";
theme = "zenbarn";
activity_hide_targets = "#multirpg";
};
"perl/core/scripts" = { neat_maxlength = "10"; };
};
hilights = (
{ text = "mynick"; nick = "yes"; word = "yes"; },
{ text = "my nick"; nick = "yes"; word = "yes"; }
);
ignores = ();
On Linux, utilities like tmux and screen keep a shell (and programs launched from it) running even after you've disconnected. If you're running irssi locally, you will not need tmux/screen.
Quick start guides are available for both tmux and screen.
With irssi staying open and connected on a server in tmux/screen, you're able to re-attach at any time without missing anything.
I recommend reading A Guide to Efficiently Using Irssi and Screen for more on irssi (and screen).