I've searched through the whole forum but didn't find any problem solving.
I'm running a eggdrop v1.6.16 on my server under gentoo. I decided to set it up for nicksaving issues.
The script nicksaver is loaded correctly, but it won't work. A short look into the log shows the problem but I'm really to lame to fix it.

The log-file says:
Code: Select all
[03:01] Tcl error [check_my_nick_every_5_min]: invalid command name "check_my_nick_every_5_min"
P.S.: sorry about my probably bad english I'm from germany and had the last lession in english about 5 years ago.

P.P.S.: added link to the tcl and added the complete tcl in this posting.
Here is the complete tcl:
Code: Select all
################################################################
## Nicksaver v1.00
##
## Author: Papillon ( http://www.surferstarten.net/Papi )
## questions? bugs? improvement? ---> papillon@surferstarten.net
##
## Copyright © 2002 Papillon aka Hallvard Rykkje
##
## Makes the bot check all it's channels every min and change it's nick to
## the one specified if that nick is not in any of the chanels. A easy way
## to keep your nick e.g on EFnet if u don't like using bouncers :) The bot
## changes it's nick back to the original one if a +n owner joins, if you
## have multiple owners u should set a new flag which only u have =)
##
## Updates and improvements to come later, look for it at my webby...
##
## Commands: partyline: .reclaim - makes the bot change it's nick back to the
## original botnick manually.
##
## To install just put " source scripts/nicksaver.tcl " at the bottom
## in your bot's config file.
##
###############################################################
## set this to the nick u want the bot to keep for you while you are offline
set thanick "Papillon"
## set this to the original botnick
set orgnick "Lamestbot"
bind join n * change_my_nick_back
bind dcc n reclaim do_it_manually
bind time - "*0 * * * *" check_my_nick_every_5_min
bind time - "*1 * * * *" check_my_nick_every_5_min
bind time - "*2 * * * *" check_my_nick_every_5_min
bind time - "*3 * * * *" check_my_nick_every_5_min
bind time - "*4 * * * *" check_my_nick_every_5_min
bind time - "*5 * * * *" check_my_nick_every_5_min
bind time - "*6 * * * *" check_my_nick_every_5_min
bind time - "*7 * * * *" check_my_nick_every_5_min
bind time - "*8 * * * *" check_my_nick_every_5_min
bind time - "*9 * * * *" check_my_nick_every_5_min
proc check_my_nick_every_min {min hour day month year} {
global botnick thanick
set found "0"
if {$botnick == $thanick} { return }
foreach c [channels] {
set t [onchan $thanick $c]
if {$t == "1"} { set found "1" }
}
if {$found == "0"} {
putserv "NICK $thanick"
}
}
proc change_my_nick_back {nick host hand chan} {
global orgnick
putserv "NICK $orgnick"
}
proc do_it_manually {hand idx text} {
global orgnick
putserv "NICK $orgnick"
}
putlog "Nicksaver.tcl v1.00 by Papillon Loaded"

Thanks goes to NML_375 from the channel #eggdrop on ircnet. With his help I finally fixed it. Now my nicksaver.tcl looks like this:
Code: Select all
################################################################
## Nicksaver v1.00
##
## Author: Papillon ( http://www.surferstarten.net/Papi )
## questions? bugs? improvement? ---> papillon@surferstarten.net
##
## Copyright © 2002 Papillon aka Hallvard Rykkje
##
## Makes the bot check all it's channels every min and change it's nick to
## the one specified if that nick is not in any of the chanels. A easy way
## to keep your nick e.g on EFnet if u don't like using bouncers :) The bot
## changes it's nick back to the original one if a +n owner joins, if you
## have multiple owners u should set a new flag which only u have =)
##
## Updates and improvements to come later, look for it at my webby...
##
## Commands: partyline: .reclaim - makes the bot change it's nick back to the
## original botnick manually.
##
## To install just put " source scripts/nicksaver.tcl " at the bottom
## in your bot's config file.
##
###############################################################
## set this to the nick u want the bot to keep for you while you are offline
set thanick "samyaza"
## set this to the original botnick
set orgnick "samyaz0r"
bind join n * change_my_nick_back
bind dcc n reclaim do_it_manually
bind time - "* * * * *" check_my_nick_every_1_min
proc check_my_nick_every_1_min {min hour day month year} {
global botnick thanick
set found "0"
if {$botnick == $thanick} { return }
foreach c [channels] {
set t [onchan $thanick $c]
if {$t == "1"} { set found "1" }
}
if {$found == "0"} {
putserv "NICK $thanick"
}
}
proc change_my_nick_back {nick host hand chan} {
global orgnick
putserv "NICK $orgnick"
}
proc do_it_manually {hand idx text} {
global orgnick
putserv "NICK $orgnick"
}
putlog "Nicksaver.tcl v1.00 by Papillon Loaded"