So, as weechat is my #1, I thought I would save the best for last.  Its actually pretty easy to get things started in weechat, even adding servers and making weechat connect to them at the start can all be done in one line, granted with some typing.

Let’s Get Our Clients

weechat is great through SSH and when used as your direct client. On Windows, you can use it through putty, or install it in CygWin. If you’re on a Debian derived distribution, you can use ‘apt-get install weechat‘, of course, if you aren’t the root user, you will need to add ‘sudo’ to the front of that. Anyways.. Lets get our client downloading.


sudo apt-get install weechat weechat-scripts


I’m assuming you already have CygWin. Start up the package downloader, and either, go into Net and find everything, or enter ‘weechat’ into the search field, and select pretty much everything that comes up for it.


If you’ve got something else, or you’re looking for something else, see their download page here.

Let’s Start Connecting

Connecting to a network with the right options the first time is pretty easy for weechat users, as you can give all your options in one line.

Normal Connection

/connect irc.lamenet.org/6667

SSL Connection

/connect irc.lamenet.org/6697 -ssl

SSL Connection (Don’t Verify Certificates)

/connect irc.lamenet.org/6697 -ssl -nossl_verify

Now what if you have a server you want to connect to that has a password?

/connect irc.lamenet.org/6697 -ssl -nossl_verify -password="ServerPass"

What about SASL???

/connect irc.lamenet.org/6697 -ssl -nossl_verify -sasl_username="LameUser" -sasl_password="lamepass1234" -sasl_mechanism="PLAIN"

What if I have a certificate??

/connect irc.lamenet.org/6697 -ssl -nossl_verify -ssl_cert="%h/ssl/Cert.pem"

Setting up networks

The format for adding servers/networks and connecting to them directly is basically the same.

/server add LameNet irc.lamenet.org/6667 -[no]option=""

Lets try adding LameNet in as having a certificate”

/server add LameNet irc.lamenet.org/6697 -ssl -ssl_verify -ssl_cert="%h/ssl/Cert.pem"

What about if you want weechat to connect automatically when it starts?

/server add LameNet irc.lamenet.org/6697 -ssl -ssl_verify -autoconnect

“I have a certain RDNS I want shown, what do I do? (IPV6 type)”

If you have a /64, its going to look something like this 2004:2345:2:123::/64, you’re going to enter something like this

/server add LameNet irc6.lamenet.org/6697 -ssl -ssl_verify -ipv6 -local_hostname="2004:2345:2:123::4051:0001"

Given the previous was using IPV6, why don’t we look at a simple line to use it on a hostname that allows both IPV4 & IPV6.

/server add irc.lamenet.org/6697 -ssl -ssl_verify -ipv6

Wasn’t too hard was it? I would hope not.

Extra Stuff

Now that we’ve got you connected and roaming, how about we start showing some advanced uses or convenient plugins to have.


buffers.pl is a perl script(.pl) that gives users a buffer list, which if you’re used to most any other client, then this should be the first script you download/install. There are some extra things you can do with it, including making it look like a regular tree list of windows. See our post here, you’re also going to want to make sure you use /mouse toggle if you want to use your mouse to select your buffers.

If you think there should be changes to this post, leave a comment down below! I can’t improve if there’s no response of what I need to improve on.

See here for other ways to contact me.

Top 5 IRC Clients (IMO)

I’ve used many IRC clients before,

1. weechat

While weechat is a terminal IRC client, it is my favorite IRC client, mostly due to its configurability, and its large plugin(script) repository. which also shows off how easy it is to play with the plugin API. There are 309 scripts in weechat’s repository as of Apr/25/16, this is mostly from being able to write scripts in multiple languages. Currently, you can write plugins in,

Some of Weechat's Abilities - IRC Clients Some of Weechat’s Abilities

  • Python
  • Perl
  • Ruby
  • Lua
  • JavaScript
  • Guile
  • TCL
  • C

2. KVIrc

KVIrc, or K Visual IRC, is my second because of the lack of forward development on it, not just the client itself, but rather plugins and themes mostly, but that isn’t their fault.  It has a decently fleshed out appearance, although there are some minor graphical glitches sometimes.

KVIrc clients screenshot Basic KVIrc look


It also allows native scripting, in a language known as KVS, based on perl, which can be used within KVS. All of KVS’s functions, commands, etc are all packed into its help browser, opened by /help, its amount of functions seems to be around twice the amount of what mIRC has.


3. AdiIRC

AdiIRC is seen by many as a mIRC clone with some improvments, somethings that were 3rd party addons have been hardcoded into the client, as well as some extras.  One of the extras is the addition of passive popups, not unlike KVIrc’s for channels and nicknames. Another improvement on mIRC is AdiIRC’s more advanced server list, which itself has had multiple versions, as well as the native inclusion of SASL features for networks that support it. 

Some of the scripts that have been made for mIRC in the past have been included natively in AdiIRC, such as the use of MTS or mIRC theme standard files to load themes that began as an advanced addon for mIRC.

AdiIRC is great at looking like other clients AdiIRC’s weechat flavor

Some of the extras that came with AdiIRC were the use of native highlight, url, and other ‘monitor’ panels. These allowed easy access to these features without having to manually script something like these in, as well as having them inside the main window, instead of their own ‘window’ in the client.

I myself see AdiIRC as a mIRC+KVIrc hybrid, minus the ability to script in perl of course. Its a very good client for those beginning with IRC, but wanting something that is more intuitive than mIRC, more so when it comes to scripting, or having some features already, instead of having to code each event or window.

4. mIRC

mIRC is a client that has a rich scripting interface, but lacks on the graphical side, it often is very clunky, and its window code gets very slow. It however is very useful in making IRC bots and other IRC helpers, such as context menus and dialogs, as well as being able to load a separate window and use it in many ways, much like what AdiIRC’s monitor windows do natively, but that you can add more uses to them instead of the hard coded actions.  One use for those that own a network, and use mIRC, is that instead of having all of the notices you get, meaning both regular /notice and SNOTICEs do not flood your status window or your current window. Of course this difference all depends on how you have your settings. However, you can then make a script that then adds all Server NOTICE to a separate window to keep everything else clean.


5. XChat/Hexchat

With XChat, the fault lies in its trouble of configuration, as well as the difficulty in changing the look of the window. Instead of choosing your own themes and such, you mostly have font changing abilities or you can change between certain ‘look&feel’s which are usually between GTK, Tango, and Motif themes, if my memory serves me correctly.
With its configuration, some of the settings that someone coming from mIRC or another client may have is having /whois replies come to the current buffer or other events, have to instead first look at the help file, which doesn’t easily tell them of the /set command, which has ~50 options behind it.

While it has some faults, its usefulness is much like that of weechat. Its scripting languages are less than that of weechat, but mostly in the same format, both in the way the files are supposed to look, and in how the methods are called. This means that someone that came from xchat to weechat, or vice-versa could easily pickup or port their scripts. XChat allows some of the same languages allowed in weechat, namely, C, Python, Perl, and TCL.

xchat_screenshotNow with Hexchat, many things are the same, mainly because Hexchat began as a free fork of XChat, but turned into its own client, but still borrowing most of the things that started with XChat.  Settings are are a bit more fleshed out, some plugins are included with the installer. Most changes are seen through the appearance and menu items, as well as some of the code. Most of the changes with the scripting API just were renaming the functions, xchat->hexchat.


All in all, most of the features in these clients are all the same, but most see a change in how additions can be made, or how they look. With myself, the structured look of weechat and its ease of configuration and scripting, make for an easily like environment. KVIrc on the other hand has a flashy and colorful GUI, which is liked by many that use it, its ease of native scripting is on par with that of mIRC and AdiIRC’s although with some differences. AdiIRC and mIRC would’ve been put together, but the inclusion of some of mIRC’s earlier addons into its native code has put it in its own rank. mIRC, though by far has the most use, and most of the features in other clients, mainly KVIrc and AdiIRC seem to have come from that. HexChat and Xchat though seem to be the easiest to use outside of web clients.

Clients I’ve used

  • weechat
  • KVIrc
  • AdiIRC
  • mIRC
  • xChat
  • Hexchat
  • IceChat (briefly)
  • HydraIRC (briefly)
  • irssi (briefly)
  • ChatZilla
  • Opera’s IRC plugin
  • Pidgen
  • ThunderBird
  • web client (KiwiIRC, Mibbit, qwebirc, iris)

Traditional Looking Buffer List (WeeChat)

First, you’ll want to be in at least the 1.0 version of weechat. As this tutorial is based off usage in that version. Second, you will need to do a some things to get the client ready for the change.
/set irc.look.server_buffer independent
What this does is it makes it so you can make each server’s buffer independent (otherwise server stuff for all servers, goes to every server buffer) ​Third, you’ll need to install the scripts “autosort.py” and “buffers.pl” if you don’t already have them.
/script install autosort.py buffers.pl
Then, these should be put in.
/set buffers.look.show_number off
Because who wants their buffers numbered (not me at least)
/set buffers.look.indenting on
This allows the right kind of indenting hierarchy to take place (core/weechat->server->channels+queries) And then you should be good.

If you have any questions about this page, or want to suggest corrections, feel free to contact me,

Contact: Email: http://electrocode.net/contact-us
(Social Media)
or on IRC via irc://irc.electrocode.net/chat

  • If this page or post could use some sprucing up, let us know by contacting us through this link