-- Simple Illegalist v0.1 -- Created by Ptaczek, Jan-3, 2003 -- Searches for specified patterns. Useful for illegal share checking -- some changes by Skippy and RabidWombat and OpiumVolage and trucker -- add tables warn and kick by nErBoS BotName = "Illegalist" function Main() --frmHub:RegBot(BotName) frmHub:EnableSearchData(1) end Files = { ["childsex"]="NO sick Porn inhere!", ["childporn"]="NO sick kid Porn inhere!", ["underage"]="NO sick kid Porn inhere!", ["animalsex"]="NO Animalsex files here!", ["svastika"]="NO Nazi/white power music HERE!!!", [".temp.mp3"]="NO sharing of incomplete downloads", ["_INCOMPLETE_"]="NO sharing of incomplete downloads", ["download123456789.dat"]="NO sharing of incomplete downloads", ["part.met"]="NO sharing of incomplete downloads", [".getright"]="NO sharing of incomplete downloads", ["share faker"]="NO tools for fake sharing allowed", ["share hacker"]="No tools for fake sharing allowed", ["Hacking"]="NO tools for hacking allowed"} warn = {} kick = {} usersimune = { "[ƒúñ][NL]GePe", "[ƒúñ][NL]Hasjmann", "[ƒúñ][NL]-Luke", "[ƒúñ][NL]redwitch", "[ƒúñ][UK]John", "[ƒúñ][NL]ZeroX]", "[ƒúñ][NL]WizzCat", "[ƒúñ]-=Akela=-", "[ƒúñ]AiR", "[ƒúñ]Bull«»T€®®í€®", "[ƒúñ]Dennis", "[ƒúñ]Geroni", "[ƒúñ]HsH", "[ƒúñ]plop", "[ƒúñ]Queeny", "[ƒúñ]three80", "[ƒúñ]TïMê†råVêlléR", "(NL)Janto", "[NL]Coco", "[NL]cpu_point", "[NL]Dark_bad_girl", "[NL]DiGARiX", "[NL]Donna[eric]", "[NL]fuego_gt", "[NL]itsmeleo", "[NL]janeb", "[NL]jobsoft", "[NL]Mazda626", "[NL]movieman", "[NL]Raymond", "[NL]Spikey", "[NL]SuusTweety", "[NL]voodoo", "[TGA]G-DIGGA", "[UKD]jiorgee", "DoJiN", "hhps", "iLluSiOn", "kepp2", "KoReNWoLF", "MisteryT", "Quaraf", "Serima", "speedman[psv]", "TeQuilla", "TheWickedRabbit", "TiMeTrAVelleR",} -- Usres you want to not be checked kicklog = "kicks.txt" -- In script folder main = "Active" --- write Deactive and will not send the kicks and bans to the main function NewUserConnected(user) if (warn[user.sName] == nil or warn[user.sName] == 4) then warn[user.sName] = 0 end if (kick[user.sName] == nil or kick[user.sName] == 4) then kick[user.sName] = 0 end for i,v in Files do user:SendData("$Search Hub:"..BotName.." F?F?0?1?"..i) end end function DataArrival(user, data) if( strsub(data, 1, 3) == "$SR" ) then _,_,nick = strfind( data, "\05(%S*)|$" ) local s,e,path = strfind(data, "$SR%s+%S+%s+(.+)%x+%s+%x+/%x+") if( nick == BotName) then for i=1,getn(usersimune) do if (user.bOperator or user.sName == usersimune[i]) then return 1 end end if (GetProfileName(user.iProfile) == "VIP") then if (kick[user.sName] == 3) then ClearNill(user) kick[user.sName] = kick[user.sName] + 1 Reason = FindWhat(data) SendPmToNick("[NL]trucker", BotName, "*** User "..user.sName.." got ban. Reason: "..Reason.." FILE: "..path) user:SendPM(BotName,"You have been banned. "..Reason) if (main == "Active" ) then SendToAll(BotName, "The user "..user.sName.." is been banned for "..Reason) end if (main == "Deactive") then return 1 end user:Ban() elseif (warn[user.sName] == 3 or kick[user.sName] == 1 or kick[user.sName] == 2) then ClearNill(user) warn[user.sName] = warn[user.sName] + 1 kick[user.sName] = kick[user.sName] + 1 Reason = FindWhat(data) SendPmToNick("[NL]trucker", BotName, "*** User "..user.sName.." got "..kick[user.sName].." kicks. Reason: "..Reason.." FILE: "..path) user:SendPM(BotName,"You have been kicked "..kick[user.sName].." time(s) at 3 you will be ban. "..Reason.." FILE: "..path) appendto(kicklog) write("\r\n"..user.sName.."|"..Reason.."|"..path.."|"..kick[user.sName].."|"..GetTime()) writeto() if (main == "Active" ) then SendToAll(BotName, "The user "..user.sName.." is been kicked for "..Reason) end if (main == "Deactive") then return 1 end user:TempBan() elseif (warn[user.sName] == 0 or warn[user.sName] == 1 or warn[user.sName] == 2) then ClearNill(user) warn[user.sName] = warn[user.sName] + 1 Reason = FindWhat(data) SendPmToNick("[NL]trucker", BotName, "*** User "..user.sName.." got "..warn[user.sName].." warns. Reason: "..Reason.." FILE: "..path) user:SendPM(BotName, "You have been warned "..warn[user.sName].." time(s) at 3 you will be kicked. "..Reason.." FILE: "..path) user:SendPM(BotName, "You can come back when you have corrected the problem") user:SendPM(BotName, "Disconnected...") user:Disconnect() end elseif not(user.bOperator and GetProfileName(user.iProfile) == "VIP" and user.sName == usersimune[i]) then --this will solve the double log i think if (kick[user.sName] == 3) then ClearNill(user) kick[user.sName] = kick[user.sName] + 1 Reason = FindWhat(data) SendPmToNick("[NL]trucker", BotName, "*** User "..user.sName.." got ban. Reason: "..Reason.." FILE: "..path) user:SendPM(BotName,"You have been banned. "..Reason) if (main == "Active" ) then SendToAll(BotName, "The user "..user.sName.." is been banned for "..Reason) end if (main == "Deactive") then return 1 end user:Ban() elseif (kick[user.sName] == 0 or kick[user.sName] == 1 or kick[user.sName] == 2) then ClearNill(user) kick[user.sName] = kick[user.sName] + 1 user:SendData(Bot, kick[user.sName]) Reason = FindWhat(data) SendPmToNick("[NL]trucker", BotName, "*** User "..user.sName.." got "..kick[user.sName].." kicks. Reason: "..Reason.." FILE: "..path) user:SendPM(BotName,"You have been kicked "..kick[user.sName].." time(s) at 3 you will be ban. "..Reason.." FILE: "..path) appendto(kicklog) write("\r\n"..user.sName.."|"..Reason.."|"..path.."|"..kick[user.sName].."|"..GetTime()) writeto() if (main == "Active" ) then SendToAll(BotName, "The user "..user.sName.." is been kicked for "..Reason) end if (main == "Deactive") then return 1 end user:TempBan() end end end end end function FindWhat(data) for i,v in Files do if( strfind(strlower(data), i) ) then return v end end return "Other files" end function GetTime() s = date("%S") h = date("%H") m = date("%M") d = date("%d") mm = date("%m") y = date("%y") Date = "Day: "..d.."/"..mm.."/20"..y.." Hour: "..h..":"..m..":"..s return Date end function ClearNill(user) if (warn[user.sName] == nil) then warn[user.sName] = 0 end if (kick[user.sName] == nil) then kick[user.sName] = 0 end end