Lucifer 666 : Antiadvertising
 

News:

29 December 2022 - PtokaX 0.5.3.0 (20th anniversary edition) released...
11 April 2017 - PtokaX 0.5.2.2 released...
8 April 2015 Anti child and anti pedo pr0n scripts are not allowed anymore on this board!
28 September 2015 - PtokaX 0.5.2.1 for Windows 10 IoT released...
3 September 2015 - PtokaX 0.5.2.1 released...
16 August 2015 - PtokaX 0.5.2.0 released...
1 August 2015 - Crowdfunding for ADC protocol support in PtokaX ended. Clearly nobody want ADC support...
30 June 2015 - PtokaX 0.5.1.0 released...
30 April 2015 Crowdfunding for ADC protocol support in PtokaX
26 April 2015 New support hub!
20 February 2015 - PtokaX 0.5.0.3 released...
13 April 2014 - PtokaX 0.5.0.2 released...
23 March 2014 - PtokaX testing version 0.5.0.1 build 454 is available.
04 March 2014 - PtokaX.org sites were temporary down because of DDOS attacks and issues with hosting service provider.

Main Menu

Lucifer 666 : Antiadvertising

Started by pHaTTy, 14 November, 2003, 16:29:16

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

pHaTTy

hmmm ive not seen this on the forum so i posted it

its by Demone.Asteroth and OpiumVolage


--------------------------------------------------------------------------------
		--Lucifer 6.6.6-- updated version

--This is a Powerful AntiAdvertising Script
--Powered by Demone.Astaroth and OpiumVolage

--History: Base='multiline antiadvertise' by OpiumVolage (your tables simplify the work I did until that moment). Here its features:
--             1)Script can block this types of advertisement: A)  example.no-ip.com
--					       B)  e x a m p l e . n o - i p . c o m
--					       C)example.
--					          no-
--					          ip.
--					          com
--					       D)e
--					          x
--					          a
--					          m
--					          p
--					          l
--					          e
--					          .
--					          n
--					          o
--					          -					      
--					          i
--					          p
--					          .
--					          c
--					          o
--					          m
--             2)You can insert valid addresses (like yours) in trigs, so bot won't kick you
--             3)Users conversating with ops don't get kicked
--             4)Why the Timer? It cleans memory.

--             Demone.Astaroth addons: 1)added an huge list of addresses
--		   	      2)When advertising: user advised on Pm before disconnection; Bot sends to all in main chat the kicking message (without IP); 
--	                                         advertise-infos send to Op-chat directly without troubling any Op with Pms! Infos contain user's IP, user To(if PM) and last message
--			         Just replace INSERT.HERE.YOUR.OP-CHAT.NAME fields with yours.
--	     	                      3)inserted Disconnect and TimeBan (15 minutes) instead of gagging user
--		   	      4)Prevented very splitted addresses (with more tabAdvert lines)
--                                	      5)added Control-addresses: user isn't kicked for these addresses but Ops are informed in any case.
--                                                  	                                 this is useful for friend-hubs addresses, if u also want to control them
-- 	                                      6)added ControlUser status: if u're scary about your vips advertising their hubs and stealing you user, 
--                   	                                                                  you can't insert the tag [VIP] or anything else in the specific space: they will not
--                                     	                                                  get kicked for any addresses, but in case of typing a Control-address, Ops will be
--                                                        	                                  informed.
--	                                      7)Fixed some bug (Thanks Opium)
--			      8)Added a new string-pieces find way to catch advertises

BotName = "?Lucifer?" 

advtrigs = {"dns2go","myftpsite","servebeer","mine.nu","ip.com","dynip","depecheconnect.com","zapto.org",
	"staticip","serveftp","ipactive","ip.org","no-ip","servegame","gotdns.org","ip.net","ip.co.uk",
	"ath.cx","dyndns","68.67.18.75","clanpimp","idlegames","sytes","unusualperson.com",
	"24.184.64.48","uni.cc","151.198.149.60","homeunix","24.209.232.97","ciscofreak.com",
	"deftonzs.com","24.187.50.121","flamenap","xs4all","serveftp","point2this.com","ip.info",
	"myftp","d2g","151.198.149.60","24.184.64.48","orgdns","myip.org","stufftoread.com",
	"ip.biz","dynu.com","mine.org","kick-ass.net","darkdata.net","ipme.net","udgnet.com","homeip.net",
	"e-net.lv","newgnr.com","bst.net","bsd.net","ods.org","x-host","bounceme.net","myvnc.com",
	"kyed.com","lir.dk","finx.org","sheckie.net","vizvaz.net","snygging.net","kicks-ass.com","nerdcamp.net",
	"cicileu.","3utilities.com","myftp.biz","redirectme.net","servebeer.com","servecounterstrike.com",
	"servehalflife.com","servehttp.com","serveirc.com","servemp3.com","servepics.com","servequake.com",
	"damnserver.com","ditchyourip.com","dnsiskinky.com","geekgalaxy.com","net-freaks.com","ip.ca",
	"securityexploits.com","securitytactics.com","servehumour.com","servep2p.com","servesarcasm.com",
	"workisboring.com","hopto","64.246.26.135","213.145.29.222","dnsalias"} 

validtrigs = {"myhub.no-ip.com","multihub2.no-ip.com", "greatfriend.no-ip.com"} --insert here your addresses (like yours or multihub ones or great friend's hub ;) )

controltrigs={["hub1"]=1,["hub2"]=2,["hub3"]=3, ["hub4"]=4, ["hub5"]=5} --insert here addresses you want to be informed (no kick)

tabAdvert = {}

function Main()
	frmHub:RegBot(BotName)
	SetTimer(60000)
	StartTimer()
end

function OnTimer()
	for key, value in tabAdvert do
		if (tabAdvert[key].iClock > clock()+60) then
			tabAdvert[key]=nil
		end
	end
end

function DataArrival(user, data)
	if not user.bOperator then
		if strsub(data, 1, 1) == "<" then
			local _, _, msg = strfind(data, "^%b<>%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( BotName, user.sName.." get slaughtered by Lucifer for advertising!")
					user:SendPM(BotName, "I slaughtered you! Don't try again to advertise!") 
					user:Disconnect();
					user:TimeBan(15); 
					s,e,onlymes = strfind(data, "%b<> (.*)")
					SendPmToOps ("INSERT.HERE.YOUR.OP-CHAT.NAME", "User "..user.sName.." with IP "..user.sIP.." advertised in main chat saying: "..onlymes.."")
				end
			end
			for key, value in controltrigs do
				if( strfind( strlower(data), key) ) then
					s,e,onlymes = strfind(data, "%b<> (.*)")
					SendPmToOps ("INSERT.HERE.YOUR.OP-CHAT.NAME", "Control: User "..user.sName.." with IP "..user.sIP.." told in main: "..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
	
			if spam>0 then
					SendToAll( BotName, user.sName.." get slaughtered by Lucifer for advertising!")
					user:SendPM(BotName, "I slaughtered you! Don't try again to advertise!") 
					user:Disconnect();
					user:TimeBan(15); 
					s,e,onlymes = strfind(data, "%b<> (.*)")
					SendPmToOps ("INSERT.HERE.YOUR.OP-CHAT.NAME", "User "..user.sName.." with IP "..user.sIP.." advertised in main chat saying: "..onlymes.."")
			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
						SendToAll( BotName, user.sName.." get slaughtered by Lucifer for advertising!")
						user:SendPM(BotName, "I slaughtered you! Don't try again to advertise!") 
						user:Disconnect();
						user:TimeBan(15); 
						s,e,whoTo,from,mes = strfind(data,"$To:%s+(%S+)%s+From:%s+(%S+)%s+$%b<>%s+(.*)")  
						SendPmToOps ("INSERT.HERE.YOUR.OP-CHAT.NAME", "User "..user.sName.." with IP "..user.sIP.." advertised in main chat saying to "..whoTo.." this: "..mes.."")
					end
				end
				for key, value in controltrigs do
					if( strfind( strlower(data), key) ) then
						s,e,whoTo,from,mes = strfind(data,"$To:%s+(%S+)%s+From:%s+(%S+)%s+$%b<>%s+(.*)")  
						SendPmToOps ("INSERT.HERE.YOUR.OP-CHAT.NAME", "Control: User "..user.sName.." with IP "..user.sIP.." said to "..whoTo.." this: "..mes.."")
					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
		
				if spam>0 then
						SendToAll( BotName, user.sName.." get slaughtered by Lucifer for advertising!")
						user:SendPM(BotName, "I slaughtered you! Don't try again to advertise!") 
						user:Disconnect();
						user:TimeBan(15); 
						s,e,whoTo,from,mes = strfind(data,"$To:%s+(%S+)%s+From:%s+(%S+)%s+$%b<>%s+(.*)")  
						SendPmToOps ("INSERT.HERE.YOUR.OP-CHAT.NAME", "User "..user.sName.." with IP "..user.sIP.." advertised in main chat saying to "..whoTo.." this: "..mes.."")
				end
			end
		end
	end
end

function Verify(userdata, msg)
	if not msg then return end
	tmp =""
	gsub(strlower(msg), "([a-z0-9.:%-])", function(x) tmp = tmp..x end)
	if not tabAdvert[userdata] then
		tabAdvert[userdata] = { iClock = clock(), l1 = "", l2 = "", l3 = "", l4= "", l5= "",l6= "",l7= "",l8= "",l9 = tmp}
	else
		tabAdvert[userdata].iClock = clock()
		tabAdvert[userdata].l1 = tabAdvert[userdata].l2
		tabAdvert[userdata].l2 = tabAdvert[userdata].l3
		tabAdvert[userdata].l3 = tabAdvert[userdata].l4
		tabAdvert[userdata].l4 = tabAdvert[userdata].l5
		tabAdvert[userdata].l5 = tabAdvert[userdata].l6
		tabAdvert[userdata].l6 = tabAdvert[userdata].l7
		tabAdvert[userdata].l7 = tabAdvert[userdata].l8
		tabAdvert[userdata].l8 = tabAdvert[userdata].l9
		tabAdvert[userdata].l9 = tmp
	end
	local Lines = tabAdvert[userdata].l1..tabAdvert[userdata].l2..tabAdvert[userdata].l3..tabAdvert[userdata].l4..tabAdvert[userdata].l5..tabAdvert[userdata].l6..tabAdvert[userdata].l7..tabAdvert[userdata].l8..tabAdvert[userdata].l9
	for key, value in advtrigs do
		if (strfind(Lines, strlower(value), 1, 1)) then
			for key2, value2 in validtrigs do
				if (strfind(Lines, strlower(value2), 1, 1)) then
					return nil
				end
			end
			return 1
		end
	end
end


quite nice :o)
Resistance is futile!

Cp6uja

Lucifer...
The best ANTIADVERTISE script


nErBoS 4 MoDeRaToR

 :P

TiMeTrAVelleR

Syntax error: attempt to index local `nick' (a nil value)
stack traceback:
   1:  function `DataArrival' at line 143 [file `...Bureaublad\Trance Hub\scripts\Lucifer 6.6.6.lua']


can sombody  check this error out please

TiMe

kazi

It s a very nic script, only when users do it in pm to each other  they dont get kicked?

Naruto

Nice antiadv.
;) one of the best i ever see


 :P www.naruto_sama.party.lu

Ruri_Ruri

Darkness beyond twilight
Crimson beyond blood that flows
Buried in the stream of time is where your power grows
I pledge myself to conquer all the foes who stand against the mighty gift bestowed in my unworthy hands
Become one with my body
And let us walk the path of destruction together

Fano

#6
QuoteOriginally posted by (uk-kingdom)pH?tt?
hmmm ive not seen this on the forum so i posted it

its by Demone.Asteroth and OpiumVolage


--------------------------------------------------------------------------------
		--Lucifer 6.6.6-- updated version

--This is a Powerful AntiAdvertising Script
--Powered by Demone.Astaroth and OpiumVolage

--History: Base='multiline antiadvertise' by OpiumVolage (your tables simplify the work I did until that moment). Here its features:
--             1)Script can block this types of advertisement: A)  example.no-ip.com
--					       B)  e x a m p l e . n o - i p . c o m
--					       C)example.
--					          no-
--					          ip.
--					          com
--					       D)e
--					          x
--					          a
--					          m
--					          p
--					          l
--					          e
--					          .
--					          n
--					          o
--					          -					      
--					          i
--					          p
--					          .
--					          c
--					          o
--					          m
--             2)You can insert valid addresses (like yours) in trigs, so bot won't kick you
--             3)Users conversating with ops don't get kicked
--             4)Why the Timer? It cleans memory.

--             Demone.Astaroth addons: 1)added an huge list of addresses
--		   	      2)When advertising: user advised on Pm before disconnection; Bot sends to all in main chat the kicking message (without IP); 
--	                                         advertise-infos send to Op-chat directly without troubling any Op with Pms! Infos contain user's IP, user To(if PM) and last message
--			         Just replace INSERT.HERE.YOUR.OP-CHAT.NAME fields with yours.
--	     	                      3)inserted Disconnect and TimeBan (15 minutes) instead of gagging user
--		   	      4)Prevented very splitted addresses (with more tabAdvert lines)
--                                	      5)added Control-addresses: user isn't kicked for these addresses but Ops are informed in any case.
--                                                  	                                 this is useful for friend-hubs addresses, if u also want to control them
-- 	                                      6)added ControlUser status: if u're scary about your vips advertising their hubs and stealing you user, 
--                   	                                                                  you can't insert the tag [VIP] or anything else in the specific space: they will not
--                                     	                                                  get kicked for any addresses, but in case of typing a Control-address, Ops will be
--                                                        	                                  informed.
--	                                      7)Fixed some bug (Thanks Opium)
--			      8)Added a new string-pieces find way to catch advertises

BotName = "?Lucifer?" 

advtrigs = {"dns2go","myftpsite","servebeer","mine.nu","ip.com","dynip","depecheconnect.com","zapto.org",
	"staticip","serveftp","ipactive","ip.org","no-ip","servegame","gotdns.org","ip.net","ip.co.uk",
	"ath.cx","dyndns","68.67.18.75","clanpimp","idlegames","sytes","unusualperson.com",
	"24.184.64.48","uni.cc","151.198.149.60","homeunix","24.209.232.97","ciscofreak.com",
	"deftonzs.com","24.187.50.121","flamenap","xs4all","serveftp","point2this.com","ip.info",
	"myftp","d2g","151.198.149.60","24.184.64.48","orgdns","myip.org","stufftoread.com",
	"ip.biz","dynu.com","mine.org","kick-ass.net","darkdata.net","ipme.net","udgnet.com","homeip.net",
	"e-net.lv","newgnr.com","bst.net","bsd.net","ods.org","x-host","bounceme.net","myvnc.com",
	"kyed.com","lir.dk","finx.org","sheckie.net","vizvaz.net","snygging.net","kicks-ass.com","nerdcamp.net",
	"cicileu.","3utilities.com","myftp.biz","redirectme.net","servebeer.com","servecounterstrike.com",
	"servehalflife.com","servehttp.com","serveirc.com","servemp3.com","servepics.com","servequake.com",
	"damnserver.com","ditchyourip.com","dnsiskinky.com","geekgalaxy.com","net-freaks.com","ip.ca",
	"securityexploits.com","securitytactics.com","servehumour.com","servep2p.com","servesarcasm.com",
	"workisboring.com","hopto","64.246.26.135","213.145.29.222","dnsalias"} 

validtrigs = {"myhub.no-ip.com","multihub2.no-ip.com", "greatfriend.no-ip.com"} --insert here your addresses (like yours or multihub ones or great friend's hub ;) )

controltrigs={["hub1"]=1,["hub2"]=2,["hub3"]=3, ["hub4"]=4, ["hub5"]=5} --insert here addresses you want to be informed (no kick)

tabAdvert = {}

function Main()
	frmHub:RegBot(BotName)
	SetTimer(60000)
	StartTimer()
end

function OnTimer()
	for key, value in tabAdvert do
		if (tabAdvert[key].iClock > clock()+60) then
			tabAdvert[key]=nil
		end
	end
end

function DataArrival(user, data)
	if not user.bOperator then
		if strsub(data, 1, 1) == "<" then
			local _, _, msg = strfind(data, "^%b<>%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( BotName, user.sName.." get slaughtered by Lucifer for advertising!")
					user:SendPM(BotName, "I slaughtered you! Don't try again to advertise!") 
					user:Disconnect();
					user:TimeBan(15); 
					s,e,onlymes = strfind(data, "%b<> (.*)")
					SendPmToOps ("INSERT.HERE.YOUR.OP-CHAT.NAME", "User "..user.sName.." with IP "..user.sIP.." advertised in main chat saying: "..onlymes.."")
				end
			end
			for key, value in controltrigs do
				if( strfind( strlower(data), key) ) then
					s,e,onlymes = strfind(data, "%b<> (.*)")
					SendPmToOps ("INSERT.HERE.YOUR.OP-CHAT.NAME", "Control: User "..user.sName.." with IP "..user.sIP.." told in main: "..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
	
			if spam>0 then
					SendToAll( BotName, user.sName.." get slaughtered by Lucifer for advertising!")
					user:SendPM(BotName, "I slaughtered you! Don't try again to advertise!") 
					user:Disconnect();
					user:TimeBan(15); 
					s,e,onlymes = strfind(data, "%b<> (.*)")
					SendPmToOps ("INSERT.HERE.YOUR.OP-CHAT.NAME", "User "..user.sName.." with IP "..user.sIP.." advertised in main chat saying: "..onlymes.."")
			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
						SendToAll( BotName, user.sName.." get slaughtered by Lucifer for advertising!")
						user:SendPM(BotName, "I slaughtered you! Don't try again to advertise!") 
						user:Disconnect();
						user:TimeBan(15); 
						s,e,whoTo,from,mes = strfind(data,"$To:%s+(%S+)%s+From:%s+(%S+)%s+$%b<>%s+(.*)")  
						SendPmToOps ("INSERT.HERE.YOUR.OP-CHAT.NAME", "User "..user.sName.." with IP "..user.sIP.." advertised in main chat saying to "..whoTo.." this: "..mes.."")
					end
				end
				for key, value in controltrigs do
					if( strfind( strlower(data), key) ) then
						s,e,whoTo,from,mes = strfind(data,"$To:%s+(%S+)%s+From:%s+(%S+)%s+$%b<>%s+(.*)")  
						SendPmToOps ("INSERT.HERE.YOUR.OP-CHAT.NAME", "Control: User "..user.sName.." with IP "..user.sIP.." said to "..whoTo.." this: "..mes.."")
					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
		
				if spam>0 then
						SendToAll( BotName, user.sName.." get slaughtered by Lucifer for advertising!")
						user:SendPM(BotName, "I slaughtered you! Don't try again to advertise!") 
						user:Disconnect();
						user:TimeBan(15); 
						s,e,whoTo,from,mes = strfind(data,"$To:%s+(%S+)%s+From:%s+(%S+)%s+$%b<>%s+(.*)")  
						SendPmToOps ("INSERT.HERE.YOUR.OP-CHAT.NAME", "User "..user.sName.." with IP "..user.sIP.." advertised in main chat saying to "..whoTo.." this: "..mes.."")
				end
			end
		end
	end
end

function Verify(userdata, msg)
	if not msg then return end
	tmp =""
	gsub(strlower(msg), "([a-z0-9.:%-])", function(x) tmp = tmp..x end)
	if not tabAdvert[userdata] then
		tabAdvert[userdata] = { iClock = clock(), l1 = "", l2 = "", l3 = "", l4= "", l5= "",l6= "",l7= "",l8= "",l9 = tmp}
	else
		tabAdvert[userdata].iClock = clock()
		tabAdvert[userdata].l1 = tabAdvert[userdata].l2
		tabAdvert[userdata].l2 = tabAdvert[userdata].l3
		tabAdvert[userdata].l3 = tabAdvert[userdata].l4
		tabAdvert[userdata].l4 = tabAdvert[userdata].l5
		tabAdvert[userdata].l5 = tabAdvert[userdata].l6
		tabAdvert[userdata].l6 = tabAdvert[userdata].l7
		tabAdvert[userdata].l7 = tabAdvert[userdata].l8
		tabAdvert[userdata].l8 = tabAdvert[userdata].l9
		tabAdvert[userdata].l9 = tmp
	end
	local Lines = tabAdvert[userdata].l1..tabAdvert[userdata].l2..tabAdvert[userdata].l3..tabAdvert[userdata].l4..tabAdvert[userdata].l5..tabAdvert[userdata].l6..tabAdvert[userdata].l7..tabAdvert[userdata].l8..tabAdvert[userdata].l9
	for key, value in advtrigs do
		if (strfind(Lines, strlower(value), 1, 1)) then
			for key2, value2 in validtrigs do
				if (strfind(Lines, strlower(value2), 1, 1)) then
					return nil
				end
			end
			return 1
		end
	end
end


quite nice :o)

I have a problem, sombody can help me?! :(

Syntax error: attempt to index local `nick' (a nil value)
stack traceback:
   1:  function `DataArrival' at line 185 [file `...\Program Files\PtokaX\scripts\Lucifer 6.6.6.lua']

Hubsoft  PtokaX-0330-15.25debug  :(

blackwings

#7
QuoteOriginally posted by Fano
I have a problem, sombody can help me?! :(

Syntax error: attempt to index local `nick' (a nil value)
stack traceback:
   1:  function `DataArrival' at line 185 [file `...\Program Files\PtokaX\scripts\Lucifer 6.6.6.lua']

Hubsoft  PtokaX-0330-15.25debug  :(
check at line 185,

Instead of  = INSERT.HERE.YOUR.OP-CHAT.NAME

use your own Op chat name

for example =
if you Op chat name is => -OP-CHAT-
then line 185 should look like this =>
SendPmToOps ("-OP-CHAT-", "User "..user.sName.." with IP "..user.sIP.." advertised in main chat saying to "..whoTo.." this: "..mes.."")

but I would personally use this instead =>
SendPmToOps (BotName, "User "..user.sName.." with IP "..user.sIP.." advertised in main chat saying to "..whoTo.." this: "..mes.."")

Same thing should be done to line =
100, 106,131,154,160,


Fano

here is script, and same error :(

Syntax error: attempt to index local `nick' (a nil value)
stack traceback:
   1:  function `DataArrival' at line 185 [file `...\Program Files\PtokaX\scripts\Lucifer 6.6.6.lua']

[SIZE=1]
BotName = "?AntiSpam?" 


advtrigs = {"dns2go","myftpsite","servebeer","mine.nu","ip.com","dynip","depecheconnect.com","zapto.org",

	"staticip","serveftp","ipactive","ip.org","no-ip","servegame","gotdns.org","ip.net","ip.co.uk",

	"ath.cx","dyndns","68.67.18.75","clanpimp","idlegames","sytes","unusualperson.com",

	"24.184.64.48","uni.cc","151.198.149.60","homeunix","24.209.232.97","ciscofreak.com",

	"deftonzs.com","24.187.50.121","flamenap","xs4all","serveftp","point2this.com","ip.info",

	"myftp","d2g","84.237.153.117","24.184.64.48","orgdns","myip.org","stufftoread.com",

	"ip.biz","dynu.com","mine.org","kick-ass.net","darkdata.net","ipme.net","udgnet.com","homeip.net",

	"e-net.lv","newgnr.com","bst.net","bsd.net","ods.org","x-host","bounceme.net","myvnc.com",

	"kyed.com","lir.dk","finx.org","sheckie.net","vizvaz.net","snygging.net","kicks-ass.com","nerdcamp.net",

	"cicileu.","3utilities.com","myftp.biz","redirectme.net","servebeer.com","servecounterstrike.com",

	"servehalflife.com","servehttp.com","serveirc.com","servemp3.com","servepics.com","servequake.com",

	"damnserver.com","ditchyourip.com","dnsiskinky.com","geekgalaxy.com","net-freaks.com","ip.ca",

	"securityexploits.com","securitytactics.com","servehumour.com","servep2p.com","servesarcasm.com",

	"workisboring.com","hopto","64.246.26.135","213.145.29.222","dnsalias","81.198.234.105:5555"} 



validtrigs = {"bla.bla.no-ip.com"} --insert here your addresses (like yours or multihub ones or great friend's hub ;) )



controltrigs={["hub1"]=1} --insert here addresses you want to be informed (no kick)



tabAdvert = {}



function Main()

	frmHub:RegBot(BotName)

	SetTimer(60000)

	StartTimer()

end



function OnTimer()

	for key, value in tabAdvert do

		if (tabAdvert[key].iClock > clock()+60) then

			tabAdvert[key]=nil

		end

	end

end



function DataArrival(user, data)

	if not user.bOperator then

		if strsub(data, 1, 1) == "<" then

			local _, _, msg = strfind(data, "^%b<>%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( BotName, user.sName.." timebaned by ?AntiSpam? for advertising!")

					user:SendPM(BotName, "Don't try again to advertise!") 

					user:Disconnect();

					user:TimeBan(15); 

					s,e,onlymes = strfind(data, "%b<> (.*)")

					SendPmToOps ("?OpChat?", "User "..user.sName.." with IP "..user.sIP.." advertised in main chat saying: "..onlymes.."")

				end

			end

			for key, value in controltrigs do

				if( strfind( strlower(data), key) ) then

					s,e,onlymes = strfind(data, "%b<> (.*)")

					SendPmToOps ("?OpChat?", "Control: User "..user.sName.." with IP "..user.sIP.." told in main: "..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

	
			if spam>0 then

					SendToAll( BotName, user.sName.." timebaned by ?AntiSpam? for advertising!")

					user:SendPM(BotName, "Don't try again to advertise!") 

					user:Disconnect();

					user:TimeBan(15); 

					s,e,onlymes = strfind(data, "%b<> (.*)")

					SendPmToOps ("?OpChat?", "User "..user.sName.." with IP "..user.sIP.." advertised in main chat saying: "..onlymes.."")

			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

						SendToAll( BotName, user.sName.." timebaned by ?AntiSpam? for advertising!")

						user:SendPM(BotName, "Don't try again to advertise!") 

						user:Disconnect();

						user:TimeBan(15); 

						s,e,whoTo,from,mes = strfind(data,"$To:%s+(%S+)%s+From:%s+(%S+)%s+$%b<>%s+(.*)")  

						SendPmToOps ("?OpChat?", "User "..user.sName.." with IP "..user.sIP.." advertised in main chat saying to "..whoTo.." this: "..mes.."")

					end

				end

				for key, value in controltrigs do

					if( strfind( strlower(data), key) ) then

						s,e,whoTo,from,mes = strfind(data,"$To:%s+(%S+)%s+From:%s+(%S+)%s+$%b<>%s+(.*)")  

						SendPmToOps ("?OpChat?", "Control: User "..user.sName.." with IP "..user.sIP.." said to "..whoTo.." this: "..mes.."")

					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

		
				if spam>0 then

						SendToAll( BotName, user.sName.." timebaned by ?AntiSpam? for advertising!")

						user:SendPM(BotName, "Don't try again to advertise!") 

						user:Disconnect();

						user:TimeBan(15); 

						s,e,whoTo,from,mes = strfind(data,"$To:%s+(%S+)%s+From:%s+(%S+)%s+$%b<>%s+(.*)")  

						SendPmToOps ("?OpChat?", "User "..user.sName.." with IP "..user.sIP.." advertised in main chat saying to "..whoTo.." this: "..mes.."")

				end

			end

		end

	end

end



function Verify(userdata, msg)

	if not msg then return end

	tmp =""

	gsub(strlower(msg), "([a-z0-9.:%-])", function(x) tmp = tmp..x end)

	if not tabAdvert[userdata] then

		tabAdvert[userdata] = { iClock = clock(), l1 = "", l2 = "", l3 = "", l4= "", l5= "",l6= "",l7= "",l8= "",l9 = tmp}

	else

		tabAdvert[userdata].iClock = clock()

		tabAdvert[userdata].l1 = tabAdvert[userdata].l2

		tabAdvert[userdata].l2 = tabAdvert[userdata].l3

		tabAdvert[userdata].l3 = tabAdvert[userdata].l4

		tabAdvert[userdata].l4 = tabAdvert[userdata].l5

		tabAdvert[userdata].l5 = tabAdvert[userdata].l6

		tabAdvert[userdata].l6 = tabAdvert[userdata].l7

		tabAdvert[userdata].l7 = tabAdvert[userdata].l8

		tabAdvert[userdata].l8 = tabAdvert[userdata].l9

		tabAdvert[userdata].l9 = tmp

	end

	local Lines = tabAdvert[userdata].l1..tabAdvert[userdata].l2..tabAdvert[userdata].l3..tabAdvert[userdata].l4..tabAdvert[userdata].l5..tabAdvert[userdata].l6..tabAdvert[userdata].l7..tabAdvert[userdata].l8..tabAdvert[userdata].l9

	for key, value in advtrigs do

		if (strfind(Lines, strlower(value), 1, 1)) then

			for key2, value2 in validtrigs do

				if (strfind(Lines, strlower(value2), 1, 1)) then

					return nil

				end

			end

			return 1

		end

	end

end
[/SIZE]

SMF spam blocked by CleanTalk