PtokaX forum

Archive => Archived 4.0 boards => Request for Lua 4 scripts => Topic started by: DoD_Owner on 06 January, 2004, 22:29:50

Title: PM word check
Post by: DoD_Owner on 06 January, 2004, 22:29:50
Hey all.

I need a script that checks every pm, for single words... if the individual words appear in the pm, it shall be reported to me, or the user shall get disconnected from the hub. I hope this is possible.

Plz help me out..

//Shadow
Title:
Post by: NightLitch on 06 January, 2004, 22:31:55
Remember to keep track on the buttons mate...

you have created 2 exact same threads now...
Title: Yeah...
Post by: DoD_Owner on 06 January, 2004, 22:32:58
I know, but the first one was posted in News... sorry for that...
Title:
Post by: BlazeXxX on 07 January, 2004, 17:03:09
-- ReWritten by BlazeXxX
-- Requested by DoD_Owner
-- Originally Written by ???

botname = "PMBooter"
trigs = { ["fuck"]=1,["weingarten"]=2,["ip.com"]=3,
["ass.org"]=4,["dns2go"]=5,["yhub"]=6,["servemp3.net"]=7,["mine,nu"]=8,
}


function DataArrival(user, data)
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
SendPmToOps( botname, user.sName.." has been kicked because of Offensive Language / Advertising." )
user:Disconnect()
end
end
end
end
end
Title: NICE !
Post by: DoD_Owner on 07 January, 2004, 23:21:11
Thx man... this works perfectly... I really appreciate this... thx
Title: Weird
Post by: DoD_Owner on 27 January, 2004, 20:43:52
I seem to have gotten some problems with this now. If you paste some written text in the main chat or in a pm, the bot sees this as "illigal" words as well... How can that be possible ???

//Shadow
Title:
Post by: plop on 28 January, 2004, 00:10:57
the script checked both pm and main.
this 1 only pm.
-- ReWritten by BlazeXxX
-- Requested by DoD_Owner
-- Originally Written by ???

botname = "PMBooter"
trigs = { ["fuck"]=1,["weingarten"]=2,["ip.com"]=3,
["ass.org"]=4,["dns2go"]=5,["yhub"]=6,["servemp3.net"]=7,["mine,nu"]=8,
}


function DataArrival(user, data)
   if (not user.bOperator) then
      if ( strsub(data, 1, 4) == "$To:" ) then
         for key,a in trigs do
            if( strfind( strlower(data), key) ) then
               SendPmToOps( botname, user.sName.." has been kicked because of Offensive Language / Advertising." )
               user:Disconnect()
            end
         end
      end
   end
end
plop
Title:
Post by: majinsoftware on 28 January, 2004, 07:19:58
does any one know how to send all the PMs to a OP as well as the other user.
Title:
Post by: BlazeXxX on 28 January, 2004, 11:14:03
-- ReWritten by BlazeXxX
-- Thanks to plop
-- Requested by DoD_Owner
-- Originally Written by ???

botname = "PMBooter"
trigs = { ["fuck"]=1,["weingarten"]=2,["ip.com"]=3,
["ass.org"]=4,["dns2go"]=5,["yhub"]=6,["servemp3.net"]=7,["mine,nu"]=8,
}


function DataArrival(user, data)
   if (not user.bOperator) then
      if ( strsub(data, 1, 4) == "$To:" ) then
         for key,a in trigs do
            if( strfind( strlower(data), key) ) then
SendPmToOps( botname, user.sName.." has been kicked because of Offensive Language / Advertising." )
user:SendPm("Do not Advertise/Swear in Here!")
user:Disconnect()
            end
         end
      end
   end
end
Title:
Post by: Pedro on 08 February, 2004, 17:58:46
Nice script,

could someone add some new features on it like helga for dchub,   i.e  capture nick and ip of user and show the message to ops that contained the offending word(s)

This way we could decide if user should be banned or left as a kick.

also is it possible to send pm to user so that they know why they got kicked, that way they might think twice b4 doing it again..


Thanx guys for the amazing job you do for us lesser beings


HAPPY DAYS
Title:
Post by: nErBoS on 08 February, 2004, 18:27:06
Hi,

Maybe this can help you out..

--Made By nErBoS
--Fixed by plop


botname = "Anti-Pub"
trigs = {"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"}

function Main()
   frmHub:RegBot(botname)
end
   
function DataArrival(user, data)
   if (not user.bOperator) then
      if (( strsub(data, 1, 1) == "<" ) or ( strsub(data, 1, 4) == "$To:" )) then
         for i=1,getn(trigs) do
            if( strfind( strlower(data), trigs[i]) ) then
            local word = strlower(data), trigs[i]
               SendToAll(botname, "The user "..user.sName.." was banned for PUB." )
               user:SendData(botname, "You have been banned for PUB.")
               SendPmToOps(botname, "The user "..user.sName.." was banned for Pub.")
               SendPmToOps(botname, "The user IP "..user.sIP.." .")
               SendPmToOps(botname, "He wrote : "..word)
               user:Disconnect()
               user:TempBan()
               break
            end
         end
      end
   end
end

Best regards, nErBoS
Title:
Post by: Pedro on 08 February, 2004, 20:05:25
Spot on nErBoS, that is exactly what I need..
Title:
Post by: b_w_johan on 17 March, 2004, 14:51:53
blazaXxX, I have used your first script and added a time ban to it now i have another question is there a possibility to change timeban into gag (when doing that also send a message to the user in question (youre gaged because you where advertising etc mail to .... to be ungagged) or in staed of mailme a time gag)

(do you still get my problem)



-- ReWritten by BlazeXxX
-- Requested by DoD_Owner
-- Originally Written by ???


trigs = { ["fuck"]=1,["weingarten"]=2,["ip"]=3,
[".org"]=4,["dns2go"]=5,["yhub"]=6,["servemp3.net"]=7,["mine,nu"]=8,[".nl"]=9,
}


function DataArrival(user, data)
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
SendPmToOps( botname, user.sName.." has been kicked (20 min) because of Offensive Language / Advertising." )
user:TimeBan(20) --<user:Disconnect()
end
end
end
end
end




greetings,
Johan :P
Title:
Post by: plop on 17 March, 2004, 22:53:20
try this johan.
-- ReWritten by BlazeXxX
-- Requested by DoD_Owner
-- Originally Written by ???
-- changed into a time gag by plop

Bot = "timegag"
time = 20
trigs = { ["fuck"]=1,["weingarten"]=2,["ip"]=3,
               [".org"]=4,["dns2go"]=5,["yhub"]=6,["servemp3.net"]=7,["mine,nu"]=8,[".nl"]=9,
}

-- leave the next empty
gagged = {}

function Main()
   SetTimer(60* 1000)
   StartTimer()
end

function OnTimer()
   for a,b in gagged do
      gagged[a] = gagged[a] - 1
      if gagged[a] == 0 then
         gagged[a] = nil
         SendPmToNick( a, Bot, "Your gag has been removed.|" )
      end
   end
end

function TimeGag(name)
   if gagged[a] == nil then
      gagged[name] = time
      SendPmToNick( name, Bot, "your are time gagged for "..time.." min, because of Offensive Language / Advertising.|" )
      SendPmToOps( Bot, name.." has been gagged for ("..time.." min) because of Offensive Language / Advertising.|" )
   else
      gagged[name] = time
      SendPmToNick( name, Bot, "your time gag has been reset due to repeating Offensive Language / Advertising.|" )
      SendPmToOps( Bot, "the timegage has been reset for "..name.." due to repeating Offensive Language / Advertising.|" )
   end
end

function DataArrival(user, data)
   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
               TimeGag(user.sName)
               return 1
            end
         end
         if gagged[user.sName] then
            SendPmToNick( user.sName, Bot, "your still gagged for the next "..gagged[user.sName].." minutes.|" )
            return 1
         end
      end
   end
end
plop
Title:
Post by: b_w_johan on 18 March, 2004, 12:43:54
plop,
I was testing this script but i think there is a problem in it because: when i used it i first tryd it with master status then with user status but there was no auto gag.....    and no message to the ops/masters.....
so if you now what went wrong.... please help me withe it...
can you btw put some save adresses to it so anyone can say my web adress (for example)
a user asks do you have an web-site?? and if an other user answers with yes it is //www.????.nl (it would be an gag then but that adress is not really a problem...)

so i hope to have a reaction soon..

greetings,
Johan :P