PtokaX forum

Development Section => Your Developing Problems => Topic started by: jiten on 07 February, 2004, 12:15:47

Title: sneaky anti advertising
Post by: jiten on 07 February, 2004, 12:15:47
i wanted to know what do i need to change here so that, when using the anti advertising script, i can kick users who type (with spaces between and no dots).
EX: SERVER     NO    IP    COM
this script works for everything, except for this type of address input.
this was edited from Lucifer 6.6.6.

function DataArrival(user, data)
   if not user.bOperator then
      if strsub(data, 1, 1) == "<" then
         local _, _, msg = strfind(data, "%b<>%s+(*%S+)")
         if Verify(user.sName, msg) then
            catch=strsub(user.sName,1,5)         --5 is counting chars of the tag below: if u change [VIP], change it!
            if catch=="[VIP]" then                  --ControlUser status : insert users Tag u don't want to get kicked
            else
               tabAdvert[user.sName]=nil
                              SendToAll(user.sName, HUBADRESS)
               -- SendToAll( BotName, "Kicked: <"..user.sName.."> because of advertising!")
               user:SendData(BotName, "You are kicked, do not advertise here!")
               user:SendData(BotName, "Disconnects...")
               user:Disconnect();
               -- user:TimeBan(15);
               s,e,onlymes = strfind(data, "%b<> (.*)")
               SendPmToOps (BotName, "Kicked: <"..user.sName.."> because of advertising: <"..user.sName.."> "..onlymes.."")
            end
         end

         if( strfind( strlower(data), "no",1,1) ) and ( strfind( strlower(data), "ip.",1,1) ) then
            if ( strfind( strlower(data), "com",1,1) ) or ( strfind( strlower(data), "org",1,1) ) or ( strfind( strlower(data), "info",1,1) ) then
         spam=spam+1; end; end;

         if( strfind( strlower(data), "dns",1,1) ) and ( strfind( strlower(data), "2",1,1) ) and ( strfind( strlower(data), "go",1,1) ) then
         spam=spam+1; end

         if( strfind( strlower(data), "dy",1,1) ) and ( strfind( strlower(data), "nu",1,1) ) then
            if( strfind( strlower(data), ".net",1,1) ) or ( strfind( strlower(data), ".com",1,1) ) then
         spam=spam+1;end; end

         if( strfind( strlower(data), "d n s a",1,1) ) or ( strfind( strlower(data), "d n s .",1,1) ) or ( strfind( strlower(data), "d n s 2",1,1) ) or ( strfind( strlower(data), "o d s .",1,1) ) or ( strfind( strlower(data), "d y n",1,1) ) then
         spam=spam+1;end


      elseif strsub(data, 1, 4) == "$To:" then
         local _, _, to, from, msg = strfind(data, "^%$To:%s+(%S+)%s+From:%s+(%S+)%s-%$%b<>%s+(.*)|")
         local nick = GetItemByName(to)
         if not nick.bOperator then
            local userdata = to.." "..from
            if Verify(userdata, msg) then
               catch=strsub(user.sName,1,16)
               if catch=="['??SemiDeus??']" then
               else
                  tabAdvert[userdata] = nil
                                 SendPmToNick(nick.sName, user.sName, HUBADRESS)
                  -- SendToAll( BotName, "Kicked: <"..user.sName.."> because of advertising!")
                  user:SendData(BotName, "You are kicked, do not advertise here!")
                  user:SendData(BotName, "Disconnects...")
                  user:Disconnect();
                  -- user:TimeBan(15);
                  s,e,whoTo,from,mes = strfind(data,"$To:%s+(%S+)%s+From:%s+(%S+)%s+$%b<>%s+(.*)")  
                  SendPmToOps (BotName, "Kicked: <"..user.sName.."> because of advertising: <"..user.sName.."> "..onlymes.."")
               end
            end

            spam=0
            if( strfind( strlower(data), "no",1,1) ) and ( strfind( strlower(data), "ip.",1,1) ) then
               if ( strfind( strlower(data), "com",1,1) ) or ( strfind( strlower(data), "org",1,1) ) or ( strfind( strlower(data), "info",1,1) ) then
            spam=spam+1; end; end;

            if( strfind( strlower(data), "dns",1,1) ) and ( strfind( strlower(data), "2",1,1) ) and ( strfind( strlower(data), "go",1,1) ) then
            spam=spam+1; end
   
            if( strfind( strlower(data), "dy",1,1) ) and ( strfind( strlower(data), "nu",1,1) ) then
               if( strfind( strlower(data), ".net",1,1) ) or ( strfind( strlower(data), ".com",1,1) ) then
            spam=spam+1;end; end
   
            if( strfind( strlower(data), "d n s a",1,1) ) or ( strfind( strlower(data), "d n s .",1,1) ) or ( strfind( strlower(data), "d n s 2",1,1) ) or ( strfind( strlower(data), "o d s .",1,1) ) or ( strfind( strlower(data), "d y n",1,1) ) then
            spam=spam+1;end
      
         end
      end
   end
end
Title:
Post by: NightLitch on 07 February, 2004, 13:38:04
Well Lucifer 6.6.6 doesn't work to 100% try adding a OK(good) hub and typing it in main chat... you will be kicked...

Try...
Title:
Post by: jiten on 07 February, 2004, 14:45:54
i've edited Lucifer 6.6.6 in a way that it works well. when u add a OK hub and type it in main, u don't get kicked.
the problem now is that i would like it to kick those who type addresses without dots and spaces between the words (ex: server       no       ip       com)... that's the only think that's missing.
is it possible?
Title:
Post by: plop on 08 February, 2004, 03:30:44
QuoteOriginally posted by jiten
i've edited Lucifer 6.6.6 in a way that it works well. when u add a OK hub and type it in main, u don't get kicked.
the problem now is that i would like it to kick those who type addresses without dots and spaces between the words (ex: server       no       ip       com)... that's the only think that's missing.
is it possible?
not with this script, it detects the . to find the url.
if that would be changed for spaces it would replace everything your users write.
in your case you need something which works like lucifer.

plop
Title:
Post by: jiten on 08 February, 2004, 16:49:07
do you know where to get that kind script that would catch specific pub with spaces and without dots?

QuoteOriginally posted by plop
QuoteOriginally posted by jiten
i've edited Lucifer 6.6.6 in a way that it works well. when u add a OK hub and type it in main, u don't get kicked.
the problem now is that i would like it to kick those who type addresses without dots and spaces between the words (ex: server       no       ip       com)... that's the only think that's missing.
is it possible?
not with this script, it detects the . to find the url.
if that would be changed for spaces it would replace everything your users write.
in your case you need something which works like lucifer.

plop
Title:
Post by: plop on 10 February, 2004, 12:32:26
QuoteOriginally posted by jiten
do you know where to get that kind script that would catch specific pub with spaces and without dots?

QuoteOriginally posted by plop
QuoteOriginally posted by jiten
i've edited Lucifer 6.6.6 in a way that it works well. when u add a OK hub and type it in main, u don't get kicked.
the problem now is that i would like it to kick those who type addresses without dots and spaces between the words (ex: server       no       ip       com)... that's the only think that's missing.
is it possible?
not with this script, it detects the . to find the url.
if that would be changed for spaces it would replace everything your users write.
in your case you need something which works like lucifer.

plop
urls with spaces are captured by sneaky anti adver.
lucifer is posted here on the forum a couple times under the name lucifer666.
it will always be a battle between us scripters and spammers, as they always will try 2 find way's 2 bypase our scripts.
but i'm gone keep it in mind for the next update of sneaky anti adver.

plop
Title:
Post by: jiten on 10 February, 2004, 12:58:30
i'll be waiting for that update of yours to the sneaky anti advertiser.
Title:
Post by: Cid on 18 February, 2004, 00:12:35
How did you fix Lucifer so that it works?