Collaboration

Try IRC with Irssi to communicate via chat

Vincent Danen recommends the command-line based Irssi client as an extensible and powerful tool for communicating with peers via IRC. He tells you how to set it up.

IRC, or Internet Relay Chat, is a fantastic method of communication with peers, particularly if you are part of a development group or want to get support with a particular piece of software or project. Many IRC networks, particularly the Freenode network, cater to a lot of open source and Linux-based groups that can offer support or provide a meeting place for development effort.

There are many IRC clients available, but one of the most extensible and powerful is the command-line based Irssi. In particular, using a CLI-based client, of any kind, offers many unique possibilities — from using it remotely via SSH to using screen to manage and share "connections" to the client.

Irssi, like most CLI programs, uses a flat-text configuration file: ~/.irssi/config. This configuration file can be heavily customized and can connect to multiple servers at start and issue various commands based on channel or server. For instance, to connect to Freenode at start, use:

servers = (
  {
    address = "irc.freenode.net";
    chatnet = "freenode";
    port = "6667";
    autoconnect = "yes";
  }
);

To configure Irssi to automatically authenticate your nickname on Freenode, you would use:

chatnets = {
  freenode = {
    type = "IRC";
    autosendcmd = "/^msg nickserv identify secret;wait 2000";
    max_kicks = "4";
    max_msgs = "1";
    max_modes = "4";
    max_whois = "1";
  };

This will send the command /msg nickserv identify secret (where 'secret' is your password), and then wait for nickserv to respond before executing further commands on that server.

Channel definitions are designed thus:

channels = (
  {
    name = "#annvix";
    chatnet = "freenode";
    autojoin = "yes";
    autosendcmd = "/^msg chanserv op #annvix";
  },
  {
    name = "#oss-security";
    chatnet = "freenode";
    autojoin = "yes";
    autosendcmd = "/^msg chanserv op #oss-security";
  }
);

This defines two channels that are automatically joined, and the pause after messaging nickserv is made apparent as new commands are being sent to chanserv to obtain ops on the two channels — a command that would fail if the used nickname had not been authenticated yet.

Obviously, there is a lot more to Irssi than just auto-connecting to channels and servers. Visit the Web site to view the variety of themes that can be used to customize its look and feel, and look at the Scripts page to see the variety of scripts that can be used with Irssi. Perl is the language that can be used with Irssi, which makes scripting it very powerful. If you're looking for a good IRC client, give Irssi a try. It has a little bit of a learning curve, but it's well worth the effort.

About Vincent Danen

Vincent Danen works on the Red Hat Security Response Team and lives in Canada. He has been writing about and developing on Linux for over 10 years and is a veteran Mac user.

Editor's Picks

Free Newsletters, In your Inbox