Irssi Scripts

Perl-Scripts for the Irssi IRC Client

Here are some of the perl scripts I wrote for Irssi, a modular IRC client. Those scripts are also available from the Irssi scripts page.

All scripts include a script-info header as defined by Juerd in his proposal. If you encounter any problems with the scripts, please feel free to contact me about it. However, I won't take any responsibility for any damage caused directly or indirectly by these scripts... so, use them at your own risk.

By the way, I can often be found on the IRCNet, the SILCNet and the MoPo-IRC Server of my universities WLAN project always using the nick "c0ffee".

kicks.pl - Various enhancements to /k, /kb and /kn

This script adds some usefull options and features to the three kick(ban) commands Irssi provides. These features include mainly (semi-) random ban reasons and matching nicks by different masks.

There were two versions of that script available. The old version is no longer available, only the new version (named from now on kicks.pl).

The script can be downloaded here. There are also some collections of kick reasons available, working with both versions. The new version requires a configuration file which is also available for download:

For kicks.pl you might want to modify the kicks.conf file to suit your needs. The script takes three options as default: -default, -topic and -none. Using the config file you can overwrite any of those and add other options. A line like this:

        bofh    ~/.irssi/kickreasons.bofh
      

adds the option -bofh which will use kickreasons from the file ~/.irssi/kickreasons.bofh. Using backticks programs can be used to generate kickreasons - have a look at the example configuration for this feature. Please note that expandos in kickreasons will be expanded, so you might need to escape them from your kickreasons.

ls.pl - list nicks in a channel

This script provides the command /ls which takes a regular expression and displays any nick which matches the given regex. The matching is done against the full nick, i.e. including user name and host.

nickmix-c0ffee.pl - mix your nick

On the rare occassions (i.e. every weekend) when some kiddiots start to attack the IRCNet, it is sometimes usefull to change your nick every now and then to avoid getting collided of the network. And because i dislike constantly giving /nick commands I wrote a little script that does this for me.

The script has two commands, /nickmix and /stopmix. Both commands operate on the server the window you give the command in is assigned to. The command /nickmix takes one parameter, your nickname and a mask (i.e. nick/mask). The mask specifies the part of your nick, you wish to keep constant, for example nick/2 will keep "ni" and add two random characters. If you supply no parameter at all, information is displayed which nicks are mixed currently. Use /stopnick without any parameter to stop mixing your nick.

page-c0ffee.pl - Paging like the #phreax do

This is a script providing a /page command as the one spifff coded for the mIRC client. Besides the fact that I don't really care for compatibility with some proprietary crapware, it's just easier to type "/page spifff Hey! WAKE UP MAN!!!" instead of "/ctcp spifff PAGE ...".

The original version of this script should also be available somewhere, as soon as I find it, I'll put a link here or mirror it... whatever.

The script now also supports making some noise, just /set pager_cmd ... to whatever (Irssi) command you want to be executed, some examples are included in the script itself (at the bottom).

version-stat.pl - The Top-used IRC-Clients

This script allows you to collect statistics off the IRC clients used in a channel. Don't use it too often, because all that CTCP VERSION is rather annoying...

The syntax is /vstat secs top where secs are the period of time you want to collect the version replies and top is the number of top-used clients you want to include in the statistics. The command must be issued in the channel you want to collect the stats from.

act.pl - Selectively De-hilight Windows

The /act command selectively de-hilights windows. Without parameters all windows with level "text" are reset. With the parameter public also those with level "msg" are removed, the parameter all resets all windows.

Thanks to Mikael Magnusson this script comes now with tab completion!

intjoin.pl - Join channels with non-utf8 names

This script works around a bug in 0.8.12 that wouldn't let you join channels with e.g. latin1 encoded names (or talk in there). Use join18n to join such channels, msg18n to talk in such channels, and part18n to leave them again.