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
Remember to keep track on the buttons mate...
you have created 2 exact same threads now...
I know, but the first one was posted in News... sorry for that...
-- 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
Thx man... this works perfectly... I really appreciate this... thx
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
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
does any one know how to send all the PMs to a OP as well as the other user.
-- 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
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
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
Spot on nErBoS, that is exactly what I need..
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
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
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