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"
or
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.
If that doesn't work, than manually install tcl
wget https://core.tcl-lang.org/tcltls/uv/tcltls-1.7.22.tar.gz
tar -xzf tcltls-1.7.22.tar.gz
rm -rf tcltls-1.7.22.tar.gz
cd tcltls-1.7.22
./configure
make (as root)
make install
If that did help, or you got a error like:
configure: error: Unable to get OpenSSL Configuration
than you should install some extra packages
sudo apt-get install -y autoconf g++ make openssl libssl-dev libcurl4-openssl-dev
sudo apt-get install -y libcurl4-openssl-dev pkg-config
sudo apt-get install -y libsasl2-dev