Saturday, 24 September 2011

Using WeeChat with Freenode (the basics)

I recently tested out WeeChat which is a very fast and lightweight IRC client that is used in the command line.

I must say that I was extremely impressed with the program, but not with the documentation. The quick start wasn't of much help and the user guide was way too heavy and detailed, going into things that were far beyond what I was needing for internet chat.

I'm assuming that the user has already installed the program, if not check the repos or visit for installation details.

Start the program:
Set your username (dont forget to include the quotation marks"):
/set irc.server.freenode.username "{enter your username here}"

Set your real name (optional):
/set irc.server.freenode.realname "{enter your name here}"

Connect to Freenode:
/connect freenode

However if you would like to connect to Freenode by default every time you start up WeeChat:
/set irc.server.freenode.autoconect on

If you've registered your username (highly recommended so that nobody can pretend to be you) then you will need to prove you own the username by supplying the password:
/msg nickserv identify {your password}

Identify your username automatically every time you log on:
/set irc.server.freenode.command "/msg nickserv identify {your password}"

Join a channel (don't forget the hash # tag):
/join #{channel name}

Automatically join a channel (or channels) every time you log onto freenode:
/set irc.server.freenode.autojoin "#{channel 1},#{channel 2}"

These channels will open up side by side, one does not replace the other. However as this is a command line tool there are no tabs to click on for different chats. The next few commands give some examples of navigation, they all produce the same outcome using slightly different techniques, try these and decide on the ones you are happiest with.

Move to the next channel:
/buffer +1

Move to the previous channel:
/buffer -1

If you remember the channel name:
/buffer #{channel name}

All of the channels you join are assigned a number (the channels start at 3, 1 is the Freenode front page) To jump straight to the channel:
/buffer {channel number}

All of the above /buffer commands all essentially allow the user to navigate through the active chatroom channels, decide which one works best for you.

Should a user send you a private message, you are able to navigate using the above commands, it behaves just like another channel. When a user sends a message, their username will appear at the bottom of the screen, above the text entry box.

Any messages that mention your username during the chat, their username will change to a yellow text with a purple background. This makes it easier to keep track of a conversation in a busy chatroom.

Send a user a private message:
/msg {username} {your message goes here}
A condensed version of this post is available for download in odt format here, this is ideal if you wish to print these off and can also be easily edited.

This isn't even close to all of the commands and tools available to the end user, however it should be enough to allow the user to perform most of the basic required functions for an internet chat on the Freenode network.

If there are any tasks or command that you feel this guide is missing then please leave a comment below.


  1. I use it all the time. cool cli app

  2. Thanks for commenting Billy, it really is a nice app, one that I use now for all of my IRC needs :)

  3. Weechat is excellent, your post really helped me out with setting up everything i need to have done automatically like connecting to freenode and oftc, identifying with nickserv on both of those servers, and joining the channels I use on both of those servers. Great little tutorial!

  4. You could send a patch for the quickstart guide. As for the user guide, I agree that it is very comprehensive, but then they have presented everything in a linked manner so the user can read only what he/she wants to.

  5. The best IRC client of all, tons of features and very customizable, nice post!

  6. I am assuming you are using eSWT, right? To run on emulator you just have to build you app and then load it on the emulator.

    There is a sample app in the project's website.

    Check this out:
    message goes here

  7. This comment has been removed by the author.

  8. Nice article, you'd have to explain first how to add a server to the configuration (before setting the username), e.g.:
    /server add freenode
    where freenode is the nickname of the server