Frequently Asked Questions

Is it slower than Eggdrop?

There are some things that are slower and some that are faster than Eggdrop. But overall, they're about the same and use about the same amount of CPU time.

This may change in the future though, I honestly expect Tcldrop to take about twice as much CPU time as Eggdrop.
I put a considerable effort into making the code as fast as possible.

Is it written in C/C++?

No, it's written purely in Tcl. Although there are optional Tcl modules (like blowfish) that are written in C.

Is it stable?

It depends on what you mean by "stable".
It's written in Tcl, therefore it doesn't crash in the same way a C/C++ program crashes.
Usually, a bug in Tcldrop won't cause the whole bot to crash, it'll only cause a small part of the bot to not work.

What are the advantages of running a Tcldrop over an Eggdrop?
  1. Portability; it will run in any environment that Tcl (v8.5) will run.

  2. You can run multiple Tcldrops in the same process.

  3. Enhanced Tcl scripting ability:
    Since it's written in Tcl, modifying any part of the bot should be fairly easy.

  4. There are also many more Tcl commands and binds than Eggdrop has.

What parts are done/not done?

Overall, I consider it about 70% "done". Meaning it can do about 70% of what Eggdrop can do.
Since it's a Tclers bot, I've focused on making it script-compatible with Eggdrop scripts.
So 95% of the Tcl commands and binds in Eggdrop work in Tcldrop right now.

Here's a break-down of the components/modules and how close to "done" I think they are:

botnet: 10% (Linking barely works. This is my highest priority, but least favorite thing to work on.)
channels module: 90% (Seems done to me, but I might be missing something.)
console module: 90% (Seems done to me, but I might be missing something.)
ctcp module: 50% (Missing some common CTCP responses.)
dns module: 90%
encryption: 90% (Needs tweaking to better support multiple encryption types)
filesys: 10%-80% (Not sure how much of the existing code is worth keeping.)
irc: 60% (Needs "channel enforcements" like +bitch, as well as support for more RAW IRC codes.)
notes: 1% (stub code only)
party: 60% (This is the partyline core.. botnet code for the partyline needs to be written and this needs to be worked on at the same time)
server: 90%
share: 10% (Userfile and other types of sharing.. Will probably require botnet support first before this can be started on)
transfer: 10%-40% (Not sure how much usable code there is.. This MAY need to wait for botnet support first, in case it can somehow be used for userfile transfers.)
woobie: 90%

Tcldrop "core": 80% (.restart doesn't work well at all..each module will need to manage itself and unload/reload properly when told.)
DCC binds: 20% (All modules that have related DCC binds are missing most of them.. These are being mainly written on demand..please make requests if your favorite dcc commands are missing.)