Egghead's Curated Collection of Tcl Scripts

What is this page?

In the nearly three decades of Eggdrop development, there have been a LOT of Tcl scripts written and published. Many are absolutely fantastic and work phenomenally; some less so. It can be hard to quickly determine which category a script found via a Google search or forum post falls in to. To try and make at least some functionalities easier to integrate with Eggdrop, we have stood up this small collection of Tcl scripts that address many of the commonly-requested features of Tcl scripts. The scripts posted here have been tested to work as intended, and should contain a fairly robust documentation section inside the script. Eggheads does not warrant, maintain or specifically recommend any of these scripts, but they are provided here as a good "first stop" for someone looking to expand their Eggdrop's features.

How to load a Tcl script in Eggdrop

As a reminder, you can look at the bottom of the config file included with Eggdrop for an example of how to load Tcl scripts on your Eggdrop. Assuming the script is located in the scripts folder of your Eggdrop's directlry, simply add the line 'source scripts/scriptname.tcl` and rehash the Eggdrop. To remove a script, remove the source line and restart (not rehash!) the Eggdrop.

Some scripts require additional packages to be installed above what is installed as part of a 'vanilla' Tcl install. You'll know you need this if you see an error similar to

	Tcl error in file 'eggdrop.conf':
	can't find package tls
		while executing
	"package require tls"

	Tcl error in file 'eggdrop.conf':
	can't find package json
    	while executing
	"package require json"
when trying to run a script. On debian-based systems, the easiest way to install these libraries is to run sudo apt-get install tcl-tls to install the TLS Tcl library, sudo apt-get install libsqlite3-tcl for the sqlite Tcl library, and sudo apt-get install tcllib for just about everything else. A full list of the libraries included in the tcllib package can be found at the Tcl development site.

Tcl Scripts

SpiKe's BogusTrivia v2.06.4.7

Probably the most popular and well-known trivia script on IRC, BogusTrivia features daily, weekly and monthly score resets, bonus questions, and a starter question file, along with too many other features to mention. You can visit's SpiKe's Tcl script page for additional scripts, including BogusHTML, a HTML page generator companion for BogusTrivia. To install, read the Installation.txt file included in the zip file.

MC_8's BadChan v1.0.2

This script will ban people if found in other channels. To configure, edit the settings located in the beginning of the file. Additionally, instructions on how to use the commands needed to operate the script via the Eggdrop partyline are also located in the comments at the top of the script file.

Pixelz's GitHub Announcer v0.5

Open source projects commonly find support in IRC channels, and a great way to show development progress is with notificationsm from GitHub. This script can announce commits, issues and pull requests (among other actions) to your channel. Read the README file and edit the settings at the top of the Tcl script file, and make sure the required Tcl packages are installed via your package manager (apt-get install tcl-tls, for example).

Solbu's Slowvoice v1.1

A common tactic of spammers is to join a channel using a proxy host, quickly broadcast their spam, then part; making it very difficult to ban or otherwise prevent them from interfering with your channel. With Slowvoice, all users are voiced after a configurable timeframe, preventing spammers from broadcasting their spam. It goes without saying, this requires a moderated channel, and all users will end up being voiced. Configuration settings are located at the top of the file.

Sup's Uptime v1.08

How else can you earn IRC cred unless you know how long your bot's host machine has been online for? The simple script allows you to display via public command, partyline or message the uptime of the machine your Eggdrop is running on. Read the usage instructions at the top of the file and then edit the settings just below. Pointless egotism at its finest!