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.

ctcpversion error to ban

Help for those learning Tcl or writing their own scripts.
Post Reply
d
demetrius_reis
Halfop
Posts: 42
Joined: Tue Aug 10, 2010 9:54 am

ctcpversion error to ban

Post by demetrius_reis »

The script below is the function of checking in without pre channel input, what version you are using is different and if he will ban.

But he is not banning, what is the error? Someone please help! :D

Code: Select all

# Current DCC Commands:
#    .bvcheck <nick|channel>
#

### Settings ###

## Punir as pessoas que têm uma das seguintes palavras na resposta ctcp version.
set bv_versions {"HJF2XCAR3D"}

## canal.
set bv_chans "#age_2_ops"

## [0/1] Banir de todos os canais, ou apenas $bv_chans?
set bv_onlynvchans 1

## Motivo do ban ?
set bv_reason "Bem vindo ao Zone.AgeMania !!!"

## [0/1] GLine the user?
set bv_gline 0

## tempo em minutos do ban?
set bv_bantime 1

## Quais users podem usar o comando nvcheck ?
set bv_chkflag "nm"

## Não pedir ctcp versão para: Owner, Masters, Bots e OPs (flags globais)##
set bv_globflags "m n o b"

## Não pedir ctcp versão para: Owner, Masters, OPs (flags para canais)##
set bv_chanflags "m n o"

###### DONT`T FLIPPIN` EDIT ANYTHING BELOW HERE ######

### Misc Things ###

set bv_ver "0.69"

### Bindings ###

bind join - * join:bv_askver
bind ctcr - VERSION ctcr:bv_ctcp
bind notc - * notc:bv_notice
bind dcc $bv_chkflag nvcheck dcc:nvcheck

### Main Procs ###

proc join:bv_askver {nick uhost hand chan} {
global botnick bv_chans bv_globflags bv_chanflags
	if {[string tolower $nick] != [string tolower $botnick]} {
		foreach globflag $bv_globflags { if {[matchattr $hand $globflag]} { return 1 } }
		foreach chanflag $bv_chanflags { if {[matchattr $hand |$chanflag $chan]} { return 1 } }
		if {($bv_chans == "") || ([lsearch -exact [split [string tolower $bv_chans]] [string tolower $chan]] != -1)} {
			putserv "PRIVMSG $nick :\001VERSION\001"

		}
	}
}

proc ctcr:bv_ctcp {nick uhost hand dest key arg} {
global botnick bv_versions bv_globflags bv_chanflags
	if {[string tolower $nick] != [string tolower $botnick]} {
		foreach version $bv_versions {
			if {[string match "*[string tolower $version]*" [string tolower $arg]]} { 
				bv_punish $nick $uhost 

			}
		}
	}
}

proc dcc:nvcheck {hand idx arg} {
set target [lindex [split $arg] 0]
	putcmdlog "#$hand# nvcheck $arg"
	if {$target == ""} {
		putidx $idx "Usage: .nvcheck <nick|channel>"
	} else {
		putidx $idx "Asking ctcp-version from $target..."
		putserv "PRIVMSG $target :\001VERSION\001"

	}
}

### Other Procs ###

proc bv_punish {nick uhost} {
global botnick bv_chans bv_onlynvchans bv_reason bv_gline bv_bantime
set hostmask "*[string range $uhost [string first "@" $uhost] end]"
set dowhat ""
	if {[string tolower $nick] != [string tolower $botnick]} {
		foreach chan [channels] {
			if {($bv_onlynvchans) && ([lsearch -exact [split [string tolower $bv_chans]] [string tolower $chan]] == -1)} { continue }
			if {($bv_gline) && ([botisop $chan]) && ([onchan $nick $chan])} { 
				if {![string match "*GLINING*" $dowhat]} { lappend dowhat "glining" }
#				putserv "KICK $nick $bv_reason"
			}
		}
		if {$dowhat != ""} {
			set dowhat "-- [join $dowhat " & "]"
		}
		putlog "BADVERSION: $nick ($uhost) is using lame IRC-client/script $dowhat"
	}
}
n
nml375
Revered One
Posts: 2860
Joined: Fri Aug 04, 2006 2:09 pm

Post by nml375 »

Didn't look too deep into it, but the first thing that strikes me; the actual kick command has been commented out..

Code: Select all

...
            if {![string match "*GLINING*" $dowhat]} { lappend dowhat "glining" }
#            putserv "KICK $nick $bv_reason"
...
NML_375
d
demetrius_reis
Halfop
Posts: 42
Joined: Tue Aug 10, 2010 9:54 am

Post by demetrius_reis »

corrigido !!
tks :D
Post Reply