October 29, 2007

UberScript lets you do more with XChat

Author: Shashank Sharma

I've been using the XChat IRC client for many years. The only thing I find lacking in it is a list of favorite channels. The Uberscript plugin, written in Perl, adds a favorites list to XChat, and also allows you to do things like auto greet users when they join a channel and hide nick changes, quit, and join messages.

To install UberScript, download the zip file from the software's home page and unzip it with unzip UberScript-1.1e.zip. This creates a directory named uber and two additional files -- Readme.txt and UberScript.pl. Move the directory and the two files to your ~/.xchat2/ directory.

Before you run XChat, edit the UberScript.pl script and look for the line my $uber_editor = "notepad";. Change notepad to your favorite graphical text editor; I use gedit. That's it! Now when you launch XChat, the script will load automatically.

New menus

The first thing you'll notice are three new menus: System, UberScript, and Favorites. The system menu lets you control various XChat settings, which, as the script's author Simon Avery points out, is handy since newer versions of XChat have dropped several menu options. You can for instance enable auto-login if you are kicked out of a channel by clicking System -> IRC -> irc_auto_login, or use the System -> Net -> net_auto_reconnectonfail to reconnect automatically in case of failed connections. The other categories under the System menu give you control over the system beeps, the network and IRC options, away messages, and so on.

Next up is the UberScript menu, which enables you to control almost every aspect of the plugin. The first category under this menu is Filtering. Options within Filtering let you hide the join, quit, and the nick change messages.

Uberscript gives you a welcome.txt file within the uber directory that you can use to set up custom greetings and run commands for users as they join a channel. For instance, *|#channelname|say Hello %n, welcome to %c! will greet everyone who joins the channel. You can also give operator status to users on your channel as soon as they join, or set up other kinds of automatic greetings with this file. You can edit the file by clicking UberScript -> Edit Files -> Edit Greetings.

By default, the Favorites menu is empty. You can add channels to the favorites list by editing the favourites.txt file -- click UberScript -> Edit Files -> Edit Favourites, and enter any channels you frequent on separate lines. You can similarly edit the gives.txt file and then run /ubergive nickname to randomly send short messages "giving" users something from the file. The gives.txt file contains a list of funny items such as a vampire. They really suck. So when I type from my IRC nickname linuxlala /ubergives roblimo, it'll print a message like linuxlala gives roblimo a vampire. They really suck, only it'll randomly pick an entry from the gives.txt file.

There's also a Quotes submenu under UberScript with several options within it, but it doesn't work out of the box, because no quote files, which simply contain random quotations, are included in the zip package. To get the quotes, download the quotes.zip file from the script's home page and unzip it into the ~/.xchat2/ directory. This will create a directory named quotes with several text files within it, each of which is associated with an option under the UberScript -> Quotes menu. Once they're in place, you can randomly throw quotes into a discussion by clicking on any of the options within the Quotes submenu. For example, if you click UberScript -> Quotes -> BOFH, UberScript will read the bofh.txt file and print a quote from it.

One striking thing about UberScript is the lack of a license agreement. Avery says this is in part because of the quotes that he picked up from the Internet, and so couldn't license, but mostly, he says, "I have a probably naive dislike of long wordy licenses when my needs aren't that complicated. The code is all my own, though. I don't want any money for it, and I don't mind if people use it for their own purposes."

The UberScript plugin initally was written for both Linux and Windows clients of XChat, but that's no longer the case. Avery says, "The official Windows XChat client went shareware, and since then has become progressively more complicated to compile. I think the decision to charge for a previously free, user-supported, and open source program is at the least morally wrong, and so I slowed up and eventually stopped my support for it." Avery, who works as a volunteer admin for a large gaming service provider and still writes scripts that make his task of controlling the gaming servers through IRC easier, says he'll contribute scripts to the community again when the "perfect" IRC client arrives.

The simplicity of setting up UberScript, the XChat features it makes available in an easy-to-navigate menu, and the host of features that it has to offer makes UberScript a must-have plugin for XChat users.

Every Monday we highlight a different extension, plugin, or add-on. Write an article of less than 1,000 words telling us about one that you use and how it makes your work easier, along with tips for getting the most out of it. If we publish it, we'll pay you $100. (Send us a query first to be sure we haven't already published a story on your chosen topic recently or have one in hand.)


  • Internet & WWW
Click Here!