I wake up this morning to see my bot spamming my dcc window with "Tcl error: invalid command name "clock"", but i didn't change anything? I search google and all I see are threads about people breaking clock... I didn't do that, didn't update, nothing's changed, and this is only happening on one bot. So, what's the deal? I try to do .tcl clock seconds in dcc and it says the same thing... did the clock command get replaced or something?
Edit: funnily, this is only happenin on one script out of many that uses clock. I disable it and the error vanishes... but using .tcl clock seconds still fails. And yet.... clearly my other scripts are using clock properly? Wtf? Eggdrop is just completely random nowadays... that makes absolutely no sense, in fact, it's impossible. Either the command is there, or it isn't, it can't be both...
No one has access other than me. And I sure never ran any such command as that. No script has been updated whatsoever. All I've done is add a special context command for someone, which just reads the last 10 lines of the logfile and a string match comparison to another script. Nothing should have overwritten "clock" anyway.
And a correction: my other bot is now doing this too, again, from nowhere. :\
I would update my bot if I wasn't 100% I'd have to rewrite every single script...
Btw: restarted my bots many times. The command simply is no longer a part of tcl, at all. :\ How would I add it back?
As of Tcl8.5 [clock] is written in Tcl and loaded on start of the Tcl interpreter (clock.tcl in the [info library] directory). Try recompiling eggdrop to adapt to your new version/paths of Tcl. If that fails verify your Tcl installation is working correctly (does [clock] work in tclsh?). Also post us what .status says about the Tcl library path, what files you can find there and what [info library] in both eggdrop and tclsh is.
(Use the tclsh being the same version as the Tcl version eggdrop links against, usually tclsh8.4 or tclsh8.5)
Well, that's just it, I haven't updated or changed my version of eggdrop, so I don't see why the paths would have changed. And I'm really not sure how to check all of that... I've never used tclsh. As for .status, that's always crashed my bots from the day I compiled them, so it's long since been disabled in the .conf.
All I know is that the version is 1.6.19, and I directories as follows in the .conf:
set mod-path "modules/"
set help-path "help/"
set text-path "text/"
As for any paths to tcl... I don't see any. I know that wasn't much help. :\
Your information is of no relevance unfortunately.
Just because *you* didn't change anything doesn't mean nothing has changed in your system - obviously something is different now so something has changed - feel free to blame solar flares if you insist. .status crashing your bot is something that shouldn't happen and is an indication for a serious error in your bot. With this kind of bug being present nothing your bot does would surprise me.
Please recompile eggdrop, I think it could fix your problem with Tcl (and .status I hope)
Yeah, at this point, it seems like something is not right in the tcl library... unfortunately, I have no access to that on this host.. I can ask that it be looked into though.
I can try a recompile, but I have tried that in the past to fix .status and had no luck.
Luminous,
Are you using any ipv6 or ssl patches? I roughly recall that the poorly written (aka buggy as hell) patches will break the .status command among other things..
That said, looking into the missing clock command is rather futile, if your eggdrop is not "sane" otherwize.
The eggheads dev-team prefers bug-reports based on the most recent version of eggdrop, as this issue might already have been reported and fixed - tracking it down over and over would be a frustrating waste of time. Since you say 1.6.20 experiences the same or similar issues, do a full bug report (using 1.6.20, see the BUG-REPORTS file in the doc/ directory).