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"