CmdReport 1.1
 

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

CmdReport 1.1

Started by Madman, 08 February, 2008, 18:00:06

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Madman

--[[
	CmdReport 1.1 LUA 5.1
	
	By Mutor					 03/18/06
	Requested by Mikey
	
	Reports command usage to specified nicks
	Option to exclude certain nicks from check.
	
	Changes 1.1
		Rewritten to new API by Madman 08.02.08

]]--

--Script Configuration
CsCfg = {
	Bot = "PtokaX",		-- Bot name
	Desc = "Command report",	 -- Bot description
	Mail = "help@domain.com",	-- Bot email address
	ReportTo = {			-- Report to these 
		["Still_Ballin`"] = "main",		-- Nicks = Message type
		["Sh0rTy"] = "main",
	},
	Exclude = {			-- Exclude these Nicks from check
		Mutor = 1,		-- Nick = 1,
		YourNick = 1,
	},
}

OnStartup = function()
	Core.RegBot(CsCfg.Bot, CsCfg.Desc, CsCfg.Mail,true)
	--Core.SendToAll(SetMan.GetString(29))
end

ChatArrival = function(user,data)
	if not CsCfg.Exclude[user.sNick] then
		local msgtype = "Main chat"
		local s,e,to = string.find(data,"^$To:%s(%S+)%s+From:")
		local s,e,pre = string.find(data,"%b<>%s(%p)")
		local s,e,cmd = string.find(data,"%b<>%s%p(%S+)")
		local s,e,msg = string.find(data,"%b<>%s%p%w+%s(.+)|$")
		if not msg then msg = "" end
		if to then msgtype = "Private Message" end
		if pre and cmd then
			Prefix = GetArgs(SetMan.GetString(29))
			for i,v in pairs(Prefix) do
				if pre == v then
					cmd = pre..cmd
					local reply = "The user "..user.sNick.." sent the command "..
					"in "..msgtype.." -> "..cmd.." "..msg
					for i,v in pairs(CsCfg.ReportTo) do
						local usr = Core.GetUser(i)
						if usr then
							if v == "pm" then
								Core.SendPmToUser(usr,CsCfg.Bot,reply)
							else
								Core.SendToUser(usr,"<"..CsCfg.Bot.. "> " ..reply)
							end
						end
					end
					break
				end
			end
		end
	end
end

GetArgs = function(data)
	local Args = {}
	if data then
		Args.sMessage = data
		for w in string.gmatch(data, "(%p)") do
			table.insert(Args,w)
		end
		if table.getn(Args) > 0 then
			return Args
		end
	end
end

ToArrival = ChatArrival


Quick rewrite, should work...
We suffer in silence, we lurk in the shadows, we kill in the night
Site currently down, ETA of returning online is 2099 ;p

Jusper

i think this script should have an ability to write cmd log.

ThugLife

Thankz Madman. The script is working fine  ;D
Skype: galin93

SMF spam blocked by CleanTalk