chat history
 

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

chat history

Started by plop, 28 February, 2005, 17:44:14

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

plop

-- PtokaX Lua 5 version by PPK

--// config

local lines = 25
local minlevel = 0
local commands = {
	history = "chathistory",
	help = "help",
}

-- we need to skip some input, because they may be operator commands, or useless junk
local skiplines = {
	"^%+", "^-", "^[^ ]+ is kicking [^ ]+ because:"
}

--// script

local helpmsg = "!"..commands.history.." - view last "..lines.." lines of chat.\r\n"
local histmsg = "Chat history:\r\n"
local data = {}
for i = 1,lines do table.insert(data, "") end

function ChatArrival(curUser, msg)
	msg = string.sub(msg, 1, (string.len(msg)-1))
	local ret,c,cmd = string.find(msg, "^%b<> !(.*)") 
	-- react on commands
	if cmd == commands.help then
		curUser:SendData(frmHub:GetHubSecAliasName(), helpmsg)
		return 0
	elseif cmd == commands.history then
		local out = histmsg
		for k,v in data do
			out = out..v
		end
		curUser:SendData(frmHub:GetHubSecAliasName(), out)
		return 1	
	end

	-- check for lines to skip
	for k,v in skiplines do
		if string.find(msg, v) then return end
	end

	-- store line
	if cmd == nil or string.sub(cmd, 1, 2) == "me" then
		table.remove(data, 1)
		table.insert(data, os.date("[%H:%M:%S] ")..msg.."\r\n")
	end
end

plop
http://www.plop.nl lua scripts/howto\'s.
http://www.thegoldenangel.net
http://www.vikingshub.com
http://www.lua.org

>>----> he who fights hatred with hatred, drives the spreading of hatred <----<<

SMF spam blocked by CleanTalk