Recording an IRC channel on Windows

Recently Matt Cutts posted an article on his blog about Recording an IRC channel on Linux/Ubuntu.

However, as you can see his article was all about using the irssi IRC client on Linux/Ubuntu.

I decided that some people may wish to know how to do it on Windows.

Here’s how…

There’s tuns of IRC clients out there for windows, you can even find IRC clients in your web browser, such as Chatzilla in Mozilla and Opera has one too, not only this but you can also get ported versions of Linux clients. Not only that, bug large IRC networks such as EFnet even have their own webchat.

We’re not going to use any of these, we’re going to use the most renowned IRC client in the world: mIRC.

What makes mIRC such a great client is it’s usability. You’ll learn this once you start to use it.

Installing mIRC is easy, just download mIRC, run the exe file and follow the simple on screen instructions.

Once installed you need to setup “logging”, so go to Tools > Options, then IRC > Logging.

From there you can setup logging to your preferences. If you need help understanding any of this, just hit F1 at any time, and look for the section on Logging.

Mine looks like this:

Now to connect to a channel, say #SEO on EFnet, with the nickname NOTHM2K, you can do the following:

/nick NOTHM2K | /server | /join #SEO

Once you join the channel the client should start logging straight away.

So what can you actually do with your logs? Well you can view them, search them or generate stats from them. Just like most things you archive.

You can view your logs by doing:

//run $mircdirlogs

Note: the double slash is important, it means execute rather than plain text

As you will be on the “EFnet” network, you will likely see a folder called “EFnet”, if you have setup your logging like me, you will find your daily timestamped logs in there. You can get to the folder quickly by doing:

//run $+($mircdirlogs,\,$network,\)

To open the current log of the channel you’re currently in you can do:

//run $window($active).logfile

Note: Please make sure you have associated .log files with a program otherwise you will get an error and the file will not open.

To search through a log file for a specific string of text you can download grep for windows or use findstr which comes with windows. From mIRC do:

//run cmd

When a command prompt opens from there you can use grep or findstr. We will be using findstr…

findstr /?

Note: This returns the help information

findstr /s /C:”hello HM2K” *.log

Note: This will search through all files that end in .log in the current dir and subdirectories for the string “hello HM2K”.

Or for those that prefer mIRC scripts, here’s findstr for mIRC…

alias findstr { ; v0.1 by HM2K (Updated: 23/05/08)
if (!$3) { echo -a Usage: /findstr <path> <file-match> <string-match> | halt }
var %win = @findstr
if (!$window(%win)) { window -e %win }
var %files = $findfile($1,$2,0)
var %i = 1
while (%i < %files) {
filter -fwn $findfile($1,$2,%i) %win $+(*,$3,*)
if ($filtered) { aline %win $findfile($1,$2,%i) }
inc %i

To generate stats you need third party software such as mIRCstats or pisg (recommended), however if you do use pisg, it might make sense to use the eggdrop or windrop (for windows) IRC bot to generate the logs instead.

There’s lots and lots of other neat tricks in mIRC for logging (take a look at $findfile) and beyond. I invite you to take a look at some of my mIRC scripts, which some of you may find useful.

PS. If you like mIRC, please register.