botlending forum  

Go Back   botlending forum > Eggdrop & TCL > Tcl scripting

Tcl scripting Tcl scripting related questions

Reply
 
LinkBack Thread Tools Display Modes
Old 13-06-2007, 12:15   #1 (permalink)
edu
Junior Member
 
Join Date: Aug 2006
Age: 19
Posts: 13
Rep Power: 0
edu is an unknown quantity at this point
Default <botnick> ban

Buna tuturor
Am si eu nevoie de putin ajutor, am zis postez aici inloc sa cer pe #botlending, poate am mai mult succes

Pentru inceput postez codul de la script
Code:
# cmdchar
set shit(cmdchar) "."
# ban reason:
set shit(ban.reason) "requested"
# ban time: (in hours)
set shit(ban.time) "336"

bind pub -|- $shit(cmdchar)b shit:pub:b

proc shit:pub:b {nickname hostname handle channel text} {
 	global botname shit
	set text [split $text]
	if {[string index [lindex $text 0] 0] == "#" && [validchan [lindex $text 0]]} {
		set b_channel [lindex $text 0]
		set b_nickname [lindex $text 1]
		set b_reason [join [lrange $text 2 end]]
	} else {
		set b_channel $channel
		set b_nickname [lindex $text 0]
		set b_reason [join [lrange $text 1 end]]
	}
	if {[matchattr $handle n|O $b_channel]} {
		if {[matchattr $handle -|S $b_channel]} {
			putquick "NOTICE $nickname :ERROR: Your access is suspended"
			return
		}
 		if {[onchan $b_nickname $b_channel]} {
			set b_hostname *!*@[lindex [split [getchanhost $b_nickname $b_channel] "@"] 1] 
			} else {
			set b_hostname $b_nickname
		}
  		if {![botisop $b_channel]} { 
			putquick "NOTICE $nickname :ERROR: I'm not opped on $b_channel"
			return 
		}
		if {[string match -nocase $b_hostname $botname]} { 
			putquick "NOTICE $nickname :ERROR: You can't ban me" 
			return 
		}
		set b_hostname_user [finduser $b_hostname]
		if {[matchattr $b_hostname_user n|f $b_channel]} { 
			putquick "NOTICE $nickname :ERROR: Hostname matches a friend's username" 
			return
		}
		if {[matchattr $b_hostname_user B]} { 
			putquick "NOTICE $nickname :ERROR: Hostname matches a BOT's username" 
			return
		}
		if {$b_hostname == ""} { 
			putquick "NOTICE $nickname :SYNTAX: $shit(cmdchar)b \[#channel\] <nickname|hostname> \[reason\]"
			return 
		}
		foreach b_foreach [banlist $b_channel] { 
			set b_foreach_hostname [lindex $b_foreach 0]
			if {$b_hostname == $b_foreach_hostname} { 
				putquick "NOTICE $nickname :ERROR: $b_hostname is already on $b_channel's banlist" 
				return
			}
		}
		if {$b_reason == ""} { 
			set b_reason "$shit(ban.reason)" 
		}
		newchanban $b_channel $b_hostname $handle $b_reason [expr $shit(ban.time) * 60]
		putquick "NOTICE $nickname :Banned $b_hostname on $b_channel for [duration [expr $shit(ban.time) * 60 * 60]]"
		putlog "<<$handle - $nickname!$hostname>> Banned $b_hostname on $b_channel for [duration [expr $shit(ban.time) * 60 * 60]] with reason: $b_reason"
	}
}

putlog "Loaded shit.tcl - made by edu @ #Motd / #WhiteHat UnderNet Network"
SYNTAX: .b [#channel] <nickname|hostname> [reason]

Scriptul merge perfect, singura "problema" este urmatoarea..
Am nevoie sa fac scriptul sa mearga in felul urmator
Code:
<botnick> ban [#channel] <nickname|hostname> [reason]
Sa put <botnick> inainte, inloc sa pun .b

Multumesc celor care sper sa ma ajute

PS: Daca nu "intelegeti" ceva (sunt sigur ca voi intelegeti ) din script sau din post, just ask. Thanks again.
edu is offline   Reply With Quote
Old 13-06-2007, 13:14   #2 (permalink)
Junior Member
 
Madalin's Avatar
 
Join Date: Oct 2004
Posts: 29
Rep Power: 0
Madalin is an unknown quantity at this point
Send a message via Yahoo to Madalin
Default

Pai depinde cum vrei sa il faci, TCL separat dar sa mearga cu nickul eggdropului, sau daca folosesti a&a sa il implementezi in arhiva, iar atunci va merge cu orice nickname va avea eggdropul..
Madalin is offline   Reply With Quote
Old 13-06-2007, 13:16   #3 (permalink)
TCB & Ratings projects Member, #Mythic representative
 
arcade's Avatar
 
Join Date: Jun 2004
Location: In fatza calculatorului!!
Age: 19
Posts: 221
Rep Power: 37
arcade is on a distinguished road
Send a message via Yahoo to arcade
Default

inlocuiesti asta:
Code:
bind pub -|- $shit(cmdchar)b shit:pub:b
cu
Code:
set shit(cmdchar) ". ` !"
foreach char $shit(cmdchar) {
bind pub -|- ${char}b shit:pub:b
}
bind pub -|- "$botnick ban" shit:pub:b
ar trebui sa mearga asa. Ti-am pus si support pt mai multe caractere :P
__________________
Fuck oFF!
arcade is offline   Reply With Quote
Old 13-06-2007, 14:24   #4 (permalink)
edu
Junior Member
 
Join Date: Aug 2006
Age: 19
Posts: 13
Rep Power: 0
edu is an unknown quantity at this point
Default

@ Madalin:
Nu folosesc a&a script, folosesc scripturi facute de mine cum am putut eu asa

@ arcade:
Nu merge, am pus
Code:
bind pub -|- "$botnick ban" shit:pub:b
Dar nu merge :-/

Look:
Code:
( 12:54:27 [p] ) <@minimalistic> Protos0 ban
Nu primesc reply
Code:
( 12:54:32 [p] ) <@minimalistic> .b
( 12:54:32 [p] ) -Protos0- SYNTAX: .b [#channel] <nickname|hostname> [reason]
Daca dau doar ".b" primesc reply
edu is offline   Reply With Quote
Old 15-06-2007, 02:55   #5 (permalink)
edu
Junior Member
 
Join Date: Aug 2006
Age: 19
Posts: 13
Rep Power: 0
edu is an unknown quantity at this point
Default

Deci ma ajuta si pe mine cineva?
Am postat si code-ul, nu-s lenes ca altii, macar apreciati si voi si ajutati-ma, daca vreti, daca nu -> "I'll move on"
Thanks, edu.
edu is offline   Reply With Quote
Old 17-06-2007, 17:55   #6 (permalink)
Junior Member
 
Madalin's Avatar
 
Join Date: Oct 2004
Posts: 29
Rep Power: 0
Madalin is an unknown quantity at this point
Send a message via Yahoo to Madalin
Default

L-am testat pe un eggdrop fara scriptul a&a si merge cum vrei tu cu BOTNICK in fata. Codul ar fi:

Code:
# cmdchar
set shit(cmdchar) "."
# ban reason:
set shit(ban.reason) "requested"
# ban time: (in hours)
set shit(ban.time) "336"

bind pub -|- $shit(cmdchar)b shit:pub:b

#### modificari

bind pubm -|- "% $botnick ban *" shit:pub:a
bind nick -|- *                  new:bind

proc new:bind {nick uhost hand chan newnick} {
	if { [isbotnick $nick]} {
		catch { unbind pubm -|- "% $nick ban *" shit:pub:a }
		bind pubm -|- "% $newnick ban *" shit:pub:a
	}
}

proc shit:pub:a {nickname hostname handle channel text} {
	set text [lrange $text 2 end]
	shit:pub:b $nickname $hostname $handle $channel $text
}

##### sfarsit modificari

proc shit:pub:b {nickname hostname handle channel text} {
 	global botname shit
	set text [split $text]
	if {[string index [lindex $text 0] 0] == "#" && [validchan [lindex $text 0]]} {
		set b_channel [lindex $text 0]
		set b_nickname [lindex $text 1]
		set b_reason [join [lrange $text 2 end]]
	} else {
		set b_channel $channel
		set b_nickname [lindex $text 0]
		set b_reason [join [lrange $text 1 end]]
	}
	if {[matchattr $handle n|O $b_channel]} {
		if {[matchattr $handle -|S $b_channel]} {
			putquick "NOTICE $nickname :ERROR: Your access is suspended"
			return
		}
 		if {[onchan $b_nickname $b_channel]} {
			set b_hostname *!*@[lindex [split [getchanhost $b_nickname $b_channel] "@"] 1] 
			} else {
			set b_hostname $b_nickname
		}
  		if {![botisop $b_channel]} { 
			putquick "NOTICE $nickname :ERROR: I'm not opped on $b_channel"
			return 
		}
		if {[string match -nocase $b_hostname $botname]} { 
			putquick "NOTICE $nickname :ERROR: You can't ban me" 
			return 
		}
		set b_hostname_user [finduser $b_hostname]
		if {[matchattr $b_hostname_user n|f $b_channel]} { 
			putquick "NOTICE $nickname :ERROR: Hostname matches a friend's username" 
			return
		}
		if {[matchattr $b_hostname_user B]} { 
			putquick "NOTICE $nickname :ERROR: Hostname matches a BOT's username" 
			return
		}
		if {$b_hostname == ""} { 
			putquick "NOTICE $nickname :SYNTAX: $shit(cmdchar)b \[#channel\] <nickname|hostname> \[reason\]"
			return 
		}
		foreach b_foreach [banlist $b_channel] { 
			set b_foreach_hostname [lindex $b_foreach 0]
			if {$b_hostname == $b_foreach_hostname} { 
				putquick "NOTICE $nickname :ERROR: $b_hostname is already on $b_channel's banlist" 
				return
			}
		}
		if {$b_reason == ""} { 
			set b_reason "$shit(ban.reason)" 
		}
		newchanban $b_channel $b_hostname $handle $b_reason [expr $shit(ban.time) * 60]
		putquick "NOTICE $nickname :Banned $b_hostname on $b_channel for [duration [expr $shit(ban.time) * 60 * 60]]"
		putlog "<<$handle - $nickname!$hostname>> Banned $b_hostname on $b_channel for [duration [expr $shit(ban.time) * 60 * 60]] with reason: $b_reason"
	}
}

putlog "Loaded shit.tcl - made by edu @ #Motd / #WhiteHat UnderNet Network"
Madalin is offline   Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
global botnick Kurupt Tcl scripting 2 11-06-2004 05:09


All times are GMT +3. The time now is 10:27.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.