Problem converting Showreg script
 

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

Problem converting Showreg script

Started by speedX, 26 February, 2008, 07:36:02

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

speedX

Hello,
I am having some probs in converting this script to the NEW API, please if possible someone help me converting it.
I have converted some part of the script to which i was familiar but some code bits in tCommands are left to be converted.

Here is the code:
--[[

	Registered Users per Profile - LUA 5.0/5.1 by jiten (8/9/2006)

]]--

tSettings = {
	-- Bot Name
	sName = SetMan.GetString(21),

	-- Command Name
	sCommand = "showprof"
}

ChatArrival = function(user, data)
	local _,_, to = string.find(data,"^$To:%s(%S+)%sFrom:")
	local _,_, msg = string.find(data,"%b<>%s(.*)|$") 
	-- Message sent to Bot or in Main
	if (to and to == tSettings.sName) or not to then
		-- Parse command
		local _,_, cmd = string.find(msg, "^%p(%S+)")
		-- Exists
		if cmd and tCommands[string.lower(cmd)] then
			cmd = string.lower(cmd)
			-- If user has permission
			if tCommands[cmd].tLevels[user.iProfile] then
				return tCommands[cmd].fFunction(user, msg), true
			else
				return Core.SendToNick(user.sNick,"<"..tSettings.sName.."> *** Error: You are not allowed to use this command!"), true
			end
		end
	end
end

ToArrival = ChatArrival

tCommands = {
	[tSettings.sCommand] = {
		fFunction = function(user, data)
			-- Search for profile
			local _,_, profile = string.find(data, "^%S+%s(%S+)$")
			-- Exists
			if profile then
				-- Temporary table
				local tProfiles = {}
				-- Loop through profiles
				for i, v in ipairs(ProfMan.GetProfiles()) do
					-- Add to custom table
					tProfiles[string.lower(v)] = GetProfileIdx(v)
				end
				-- Profile Exists
				if tProfiles[string.lower(profile)] then
					-- Header
					local sMsg, n = "\r\n\r\n\t"..string.rep("=", 35).."\r\n\t\tUsers by Profile - "..
					GetProfileName(tProfiles[string.lower(profile)])..":\r\n\t"..string.rep("-", 70).."\r\n\t", 0
					-- Loop through registered users
					for i, v in ipairs(RegMan.GetRegs()) do
						local sStatus = "off"
						-- Look for users with same profile
						if v.iProfile == GetProfileIdx(profile) then
							-- Sum + If online
							n = n + 1; if Core.GetUser(v.sNick) then sStatus = "on" end
							-- Add content
							sMsg = sMsg.."\t"..n..". ["..sStatus.."line] "..v.sNick.."\r\n\t"
						end
					end
					-- Send
					Core.SendPmToNick(user.sNick,tSettings.sName, sMsg)
				else
					Core.SendToNick(user.sNick,"<"..tSettings.sName.."> *** Error: There isn't such profile!")
				end
			else
				Core.SendToNick(user.sNick,"<"..tSettings.sName.."> *** Syntax Error: !"..tSettings.sCommand.." <profile name>")
			end
		end,
		tLevels = { [0] = 1, [1] = 1, },
	},
}


Thank you.....
Thanking You,

speedX

SMF spam blocked by CleanTalk