This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

chanctcp

Old posts that have not been replied to for several years.
Locked
E
EEggy
Op
Posts: 122
Joined: Thu Sep 26, 2002 11:46 pm

chanctcp

Post by EEggy »

Hi, i hope someone can help me, i am getting this error in a partyline
Tcl error [raw:ncc_checkctcp]: unmatched open quote in list

but i couldn't figureout, your help will be appreciated.
thanks

proc raw:ncc_checkctcp {from keyword arg} {
global botnick ncc_chans ncc_noactions ncc_ctcps ncc_lockchan ncc_globflags ncc_chanflags
set nick [string range $from 0 [expr [string first "!" $from] -1]]
set chan [lindex [split $arg] 0]
set type [string trim [string trim [lindex $arg 1] :] \001]
if {([string match "\001*\001" [string trim [lrange $arg 1 end] :]]) && ([string tolower $nick] != [string tolower $botnick])} {
foreach globflag $ncc_globflags { if {[matchattr [nick2hand $nick] $globflag]} { return 0 } }
foreach chanflag $ncc_chanflags { if {[matchattr [nick2hand $nick] |$chanflag $chan]} { return 0 } }
if {($ncc_chans == "") || ([lsearch -exact [split [string tolower $ncc_chans]] [string tolower $chan]] != -1)} {
if {($ncc_ctcps == "") || ([lsearch -exact [split [string tolower $ncc_ctcps]] [string tolower $type]] != -1)} {
if {($ncc_noactions) || ((!$ncc_noactions) && ([string tolower $type] != "action"))} {
if {([lindex $ncc_lockchan 0] != 0) && ([lindex $ncc_lockchan 1] != 0)} {
ncc_lockchan $chan
}
ncc_punish $nick $from $chan
return 1
}
}
}
}
}
EEggy
User avatar
strikelight
Owner
Posts: 708
Joined: Mon Oct 07, 2002 10:39 am
Contact:

Re: chanctcp

Post by strikelight »

The only thing I see off-hand that could obviously cause some problems is:

Code: Select all

if {([string match "\001*\001" [string trim [lrange $arg 1 end] :]]) && ([string tolower $nick] != [string tolower $botnick])} { 
It's wrong on two levels...
1) $arg is a string, and you are doing a list operation on it.
2) lrange returns a list, and you are doing a string operation on it.

Thus, you would want something like:

Code: Select all

if {([string match "\001*\001" [string trim [join [lrange [split $arg] 1 end]] :]]) && ([string tolower $nick] != [string tolower $botnick])} { 
If there is still problems, try doing '.set errorInfo' in the bot's partyline to get more details on the problem.
E
EEggy
Op
Posts: 122
Joined: Thu Sep 26, 2002 11:46 pm

Post by EEggy »

Thanks, i tried like you have suggested, but still getting the same error
Tcl error [raw:ncc_checkctcp]: unmatched open quote in list

also you have suggested to use .set errorinfo, but bot says what?u need help??

i'll appreciate if someone can help

thanks
EEggy
s
spock
Master
Posts: 319
Joined: Thu Dec 12, 2002 8:40 pm

Post by spock »

youve probably disabled set & tcl in your bots config
photon?
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

This script seems rather riddles with these errors.

Too be honest, i wouldn't know where to begin.

It seems to be fasionable to use strings commands on list, and list commands on strings.
E
EEggy
Op
Posts: 122
Joined: Thu Sep 26, 2002 11:46 pm

Post by EEggy »

set and tcl are enable in config file
oh now i get 2 errors heh
beside this -> Tcl error [raw:ncc_checkctcp]: unmatched open quote in list
now i get this as well, sometime
Tcl error [raw:ncc_checkctcp]: list element in quotes followed by "" instead of space

thanks
EEggy
User avatar
strikelight
Owner
Posts: 708
Joined: Mon Oct 07, 2002 10:39 am
Contact:

Post by strikelight »

As stated, make sure you have .set or .tcl bound in your .conf (not commented out with a #-sign in front of them, and .restart your bot).

Then when the errors occur,
do either:
.set errorInfo
or
.tcl set errorInfo

(note the capital _I_ in errorInfo).
E
EEggy
Op
Posts: 122
Joined: Thu Sep 26, 2002 11:46 pm

Post by EEggy »

Thanks, i did exactly you said, and after error i typed
<EEggy> .tcl set errorInfo
<kkj> Tcl: can't unset "buffer2": no such variable
<kkj> Tcl: while executing
<kkj> Tcl: "unset buffer2"

that's all i get..

thanks
EEggy
User avatar
strikelight
Owner
Posts: 708
Joined: Mon Oct 07, 2002 10:39 am
Contact:

Post by strikelight »

EEggy wrote:Thanks, i did exactly you said, and after error i typed
<EEggy> .tcl set errorInfo
<kkj> Tcl: can't unset "buffer2": no such variable
<kkj> Tcl: while executing
<kkj> Tcl: "unset buffer2"

that's all i get..

thanks
You have too much going on with your bot...
You need to unload some of your scripts then if you are unable to be quick enough to grab the error message of the error in question,
and then try again.
Locked