bind pubm - "* *" badword:pubm:check
bind raw - 302 realhost
proc badword:pubm:check { nick uhost handle chan arg } {
global BadwordWarn g_message
set input " [bad:filter $arg] "
#Search through the list to see if the badword is present.
if { [file exists badword.txt] } {
set read [open badword.txt r]
while { ![eof $read] } {
gets $read line
set helpwanted [string range $line 0 [expr [string first # $line]-1]]
set g_message [string range $line [expr [string first # $line]+1] end]
if { [string match -nocase "* $helpwanted *" $input] == 1 && $helpwanted != "" } {
if {([info exists BadwordWarn($uhost)] == 1)} {
putserv "userhost $nick"
#gline part goes here, need the g_host to do that..
unset BadwordWarn($uhost)
} else {
set BadwordWarn($uhost) 1
timer 60 "unset BadwordWarn($uhost)"
putserv "kill $nick $message"
}
}
}
close $read
}
}
proc realhost { from key arg } {
set g_host [lindex [lrange [split $arg "@"] 1 end] 0]
}
it kills on first instance, and need to gline on second.. That's why i send a "userhost" command to get the real host.. but i cant have g_host var back there to gline.
Check by adding this putlog after the declaration of the variable '$host' in your procedure. In DCC (partyline) with the bot it will give you a result to compare and check if it is the correct userhost or not.
·awyeah·
==================================
Facebook: jawad@idsia.ch (Jay Dee) PS: Guys, I don't accept script helps or requests personally anymore.
==================================
bind pubm - "* *" badword:pubm:check
bind raw - 302 realhost
proc badword:pubm:check { nick uhost handle chan arg } {
global BadwordWarn g_message g_host
set input " [bad:filter $arg] "
#Search through the list to see if the badword is present.
if { [file exists badword.txt] } {
set read [open badword.txt r]
while { ![eof $read] } {
gets $read line
set helpwanted [string range $line 0 [expr [string first # $line]-1]]
set g_message [string range $line [expr [string first # $line]+1] end]
if { [string match -nocase "* $helpwanted *" $input] == 1 && $helpwanted != "" } {
if {([info exists BadwordWarn($uhost)] == 1)} {
putserv "userhost $nick"
#gline part goes here, need the g_host to do that..
vwait g_host
#and now you got he g_host....
unset BadwordWarn($uhost)
} else {
set BadwordWarn($uhost) 1
timer 60 "unset BadwordWarn($uhost)"
putserv "kill $nick $message"
}
}
}
close $read
}
}
proc realhost { from key arg } {
upvar #0 g_host g_host
set g_host [lindex [lrange [split $arg "@"] 1 end] 0]
}
bot just wont respond when i use "vwait" cant rehash.. all i can do is restart.. and it doesnt seem to give g_host.. tried putlog" $g_host" nothing happenin..
In mIRC it's a simple Perform option: /mode $me -x
Bahamut does not have this ability. Ultimate/Unreal do; and probably many others. It's for the protection of users (if they wish to use it) as the masked host does not resolve.
Add [SOLVED] to the thread title if your issue has been. Search | FAQ | RTM
feroz uses a network where a user can set +/-x to mask/unmask his host (set by the IRCD itself). There is absolutely no way anyone but an IRCOp with the proper flags can get the proper host of a user using +x.
My previous post was an explanation. I did not mention anywhere that a user could change the mode of another user.
Because of this system any script is restricted to using ident.
Add [SOLVED] to the thread title if your issue has been. Search | FAQ | RTM