IRC-Research / Dr. Kajetan Hinner \ IRC-Forschung

Rheinland-Pfalz Germany 


Universität Mainz


Universitšt Mainz

I want to summarize my sociological findings about IRC research.

My aim is to study the major IRC networks (IRC-Net, EFnet, DALnet, Undernet), find out the most attractive channels and monitor 10 channels on each network with the most traffic. There I want to investigate the behaviour of the channel members, i.e. how often they join or leave, how long they stay and how much they say.
If you need an overview of what I'm talking about, look at the page.

Eggdrop approach

I used to experiment with an eggdrop IRC robot, called Socius_I or (alternative: Socius_U). In case of system hangs the bot will be relaunched using crontab. The bot is designed to run day and night, so there may be some hours of unmonitored activity.

ircII script approach

I skipped the eggdrop bot and wrote four ircII-scripts, named Socius_D, Socius_E, Socius_I and SociusU (depends on the network the script runs at). Every hour each script stores the number of users and channels into a logfile.
Those logfiles are examined using a perl script. You can obtain the perl script here.

Perl script only IRC observation approach

There were some drawbacks of ircII. First of all, it needs a terminal to run on. This is not a big problem, I installed the "screen" package and had virtual screens from that time on. It was possible to start ircII, run the scripts, detach, and log off again. The bigger problem, however, was the impossibility to restart ircII and scripts using crontab or whatever, in an automatic fashion (at least I found no possibility). So I always had to log into my machine, find out if the scripts are still running, and restarting them.
One more problem with ircII scripts was their minor possibilities in reacting i.e. to server "Closing Link" and the like.
So I finally decided to use the Net::IRC package for perl 5 and write everything what I needed in perl. This took quite a long time, but finally it worked. Right now my perl program is monitoring the four major IRC networks, the used nicks are Socip_D, Socip_E, Socip_I, Socip_U. Several more minor networks are monitored but there are few statistics available due to security reasons.
For Ircops: Please don't kill the bot or the script, it's designed not to harm anyone. If this should be the case, though - that someone feels bothered or the bot is going crazy - please inform me. Then ban my account from the specific channel if you think it's absolutely necessary. Only if anything else fails, kill the bot please.

Take a look at my IRC-Statistics page for detailed statistics since 1998 upto now.


What my previous scripts did:

Monitoring activity on
  • IRCnet: #cyberchat, #italia and
  • EFnet: #gam (Gay asian men and friends), #win98, and #mp3

  •  You can obtain some samples of IRC logfiles [link closed, available on request].
    Gathering every hour all channels of the big four networks with more than 50 members
    - Data and statistics were planned but will not come in the near future.
    Collecting every hour all channels starting with #c (like #chat, #cybersex, #c++, etc.)
    - Data and statistics were planned but will not be available in the near future.

    Please stand by for upcoming news. If you think you can contribute, please write.

    Useful Links

  • My IRC statistics page
  • My programs page, where you will find some perl scripts
  • Links regarding IRC, Bots, Tcl scripts

  • The IRC protocol (RFC 1449)
  •  EspReSso's Eggdrop Archives (link invalid!)
  •  The mIRC & Eggdrop Archive
  • StatWWW 1.5 (Script for Eggdrop, creates WWW statistics); I took and adopted this script for my purposes. (Link is invalid!)