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.

Annoying Spambots on Dal.net (finger script)

Old posts that have not been replied to for several years.
G
Gothic-Angel
Op
Posts: 109
Joined: Mon Sep 23, 2002 9:46 pm

Annoying Spambots on Dal.net (finger script)

Post by Gothic-Angel »

Well I have a addon I made (very simple) for mirc, however I have no idea how to convert it to a tcl. Here are the lines of code for it.

on *:join:#adultnetmeeting:ctcp $nick finger
on *:ctcpreply:finger*:{ if ($nick ison #adultnetmeeting) && ($me isop #adultnetmeeting) && ($eval(%email,0) isin $1-) { ban -u600 #adultnetmeeting $nick 2 | kick #adultnetmeeting $nick Die Spammer of Satan! }

Its very simple but very effective, catches them sine they always have %email in there finger reply. Could someone convert this to tcl? I hate to have to keep my irc client in the channel to keep them out. Be nice if the drop could do it.
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

I believe this has allready been created.

Have you searched the forum?

Do a search for "%email finger ctcp", with matchign set to "all terms"
G
Gothic-Angel
Op
Posts: 109
Joined: Mon Sep 23, 2002 9:46 pm

Post by Gothic-Angel »

Code: Select all


bind join - "#Mp3z-Techno-Dance *" send:finger 
proc send:finger {n uh hand chan} { 
set l [string length $n] 
set n1 [string tolower $n] 
if {($l == 6) || ($l ==  || ([string match "*baby*" $n1]) || ([string match "*lady*" $n1]) || ([string match "*girl*" $n1])} { 
puthelp "PRIVMSG $n :01FINGER01" 
} 
} 

bind ctcr - FINGER check:finger 
proc check:finger {nick uh hand dest key arg} { 
if {![isbotnick $dest]} { retrun } 
set arg1 [string tolower $arg] 
if {([string match "*%email*" $arg1]) || ([string match "*%iloveuayas*" $arg1])} { 
foreach chan [channels] { 
putserv "MODE $chan +b [maskhost "${nick}!${uh}"]" 
putserv "KICK $chan $nick :Auto Banned: Recognised CTCP Finger Reply" 
} 
} 
} 
I found that, but I get this error when doing so.

<Justins-BOT> [06:34] Tcl error [send:finger]: syntax error in expression "($l == 6) || ($l == || ([string match "*baby*" $n1]) || ([s"


Im using windrop 1.6.12 I copied that code into a text editor exactly as its shown above and saved it as a tcl. Then loaded it.
User avatar
Papillon
Owner
Posts: 724
Joined: Fri Feb 15, 2002 8:00 pm
Location: *.no

Post by Papillon »

missing a ")" in "($l ==", should be "($l ==)"
Elen sila lúmenn' omentielvo
G
Gothic-Angel
Op
Posts: 109
Joined: Mon Sep 23, 2002 9:46 pm

Post by Gothic-Angel »

Still get it and this is the code now

Code: Select all

bind join - "#adultnetmeeting *" send:finger
proc send:finger {n uh hand chan} {
set l [string length $n]
set n1 [string tolower $n]
if {($l == 6) || ($l ==) || ([string match "*baby*" $n1]) || ([string match "*lady*" $n1]) || ([string match "*girl*" $n1])} {
puthelp "PRIVMSG $n :01FINGER01"
}
}

bind ctcr - FINGER check:finger
proc check:finger {nick uh hand dest key arg} {
if {![isbotnick $dest]} { retrun }
set arg1 [string tolower $arg]
if {([string match "*%email*" $arg1]) || ([string match "*%iloveuayas*" $arg1])} {
putserv "MODE $chan +b [maskhost "${nick}!${uh}"]"
putserv "KICK $chan $nick :Auto Banned: Recognised CTCP Finger Reply"
}
}
User avatar
Papillon
Owner
Posts: 724
Joined: Fri Feb 15, 2002 8:00 pm
Location: *.no

Post by Papillon »

eh well... "($l ==)" <-- that's still not valid, thought u knew as much :)
something is missing, if u don't know what's supposed to be there just remove " || ($l ==)"
Elen sila lúmenn' omentielvo
G
Gothic-Angel
Op
Posts: 109
Joined: Mon Sep 23, 2002 9:46 pm

Post by Gothic-Angel »

Ya know if you would just rewrite the code the right way id be very grateful I have edited it a lot and still can't seem to make it work properly, I didnt write that ppslim did. I dont know what im doing heh

Code: Select all

bind join - "#adultnetmeeting *" send:finger 
proc send:finger {n uh hand chan} { 
set l [string length $n] 
set n1 [string tolower $n] 
if {($l == 6) || ($l ==)"  || ([string match "*baby*" $n1]) || ([string match "*lady*" $n1]) || ([string match "*girl*" $n1])} { 
puthelp "PRIVMSG $n :01FINGER01" 
} 
} 

bind ctcr - FINGER check:finger 
proc check:finger {nick uh hand dest key arg} { 
if {![isbotnick $dest]} { retrun } 
set arg1 [string tolower $arg] 
if {([string match "*%email*" $arg1]) || ([string match "*%iloveuayas*" $arg1])} { 
foreach chan [channels] { 
putserv "MODE $chan +b [maskhost "${nick}!${uh}"]" 
putserv "KICK $chan $nick :Auto Banned: Recognised CTCP Finger Reply" 
} 
} 
} 

My attempt at editing it.
User avatar
Papillon
Owner
Posts: 724
Joined: Fri Feb 15, 2002 8:00 pm
Location: *.no

Post by Papillon »

Code: Select all

bind join - "#adultnetmeeting *" send:finger 
proc send:finger {n uh hand chan} { 
set l [string length $n] 
set n1 [string tolower $n] 
if {($l == 6) || ([string match "*baby*" $n1]) || ([string match "*lady*" $n1]) || ([string match "*girl*" $n1])} { 
puthelp "PRIVMSG $n :01FINGER01" 
} 
} 

bind ctcr - FINGER check:finger 
proc check:finger {nick uh hand dest key arg} { 
if {![isbotnick $dest]} { retrun } 
set arg1 [string tolower $arg] 
if {([string match "*%email*" $arg1]) || ([string match "*%iloveuayas*" $arg1])} { 
foreach chan [channels] { 
putserv "MODE $chan +b [maskhost "${nick}!${uh}"]" 
putserv "KICK $chan $nick :Auto Banned: Recognised CTCP Finger Reply" 
} 
} 
}
this was what I meant :)
Elen sila lúmenn' omentielvo
G
Gothic-Angel
Op
Posts: 109
Joined: Mon Sep 23, 2002 9:46 pm

Post by Gothic-Angel »

Without that line the bot doesnt finger, I get no errors but bot doesnt finger.
User avatar
Papillon
Owner
Posts: 724
Joined: Fri Feb 15, 2002 8:00 pm
Location: *.no

Post by Papillon »

the way that script is made it only fingers when the nicklength is "6" or the nick contains baby, lady or girl.
Elen sila lúmenn' omentielvo
G
Gothic-Angel
Op
Posts: 109
Joined: Mon Sep 23, 2002 9:46 pm

Post by Gothic-Angel »

Is there a way I can get the script to finger everyone and search for the reply of %email?
User avatar
Papillon
Owner
Posts: 724
Joined: Fri Feb 15, 2002 8:00 pm
Location: *.no

Post by Papillon »

Code: Select all

bind join - "#adultnetmeeting *" send:finger 
proc send:finger {n uh hand chan} { 
  puthelp "PRIVMSG $n :01FINGER01" 
}
that should do it :)
Elen sila lúmenn' omentielvo
G
Gothic-Angel
Op
Posts: 109
Joined: Mon Sep 23, 2002 9:46 pm

Post by Gothic-Angel »

still no go, i tried that and it would just pm me when i join with that message..


Hell I just want to finger every person that joins and if %email is in the results ban. I can't see to find a script that works for this :-(
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

Code: Select all

bind join - "*" ctcp:join:send
proc ctcp:join:send {nick uh hand chan} {
  puthelp "PRIVMSG $nick :\001FINGER\001"
}
bind ctcr - "FINGER" ctcp:join:reply
proc ctcp:join:reply {nick uh hand dest key arg} {
  if {[string match "*%email*" [string tolower $arg]]} {
    putserv "MODE $chan +b [maskhost "${nick}!${uh}"]"
  }
}
Why don't you just go out and learn Tcl. Don't says it's hard. If a 9 year old can learn to produce 3D models, using software, that can only be used, by inputting math functions and tri-axis points, then you can learn Tcl.
G
Gothic-Angel
Op
Posts: 109
Joined: Mon Sep 23, 2002 9:46 pm

Post by Gothic-Angel »

That seemed to work sent me finger replys for 2 users then it just stopped fingering, im giving up ill just live my mIRC client on with my working addon. Im sick of messing around with this.
Locked