Author Topic: chat history  (Read 2071 times)

0 Members and 1 Guest are viewing this topic.

Offline plop

  • Forum God
  • ****
  • Posts: 2 464
  • Karma: +37/-0
chat history
« on: 28 February, 2005, 17:44:14 »
Code: [Select]
-- 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 <----<<

PtokaX forum

chat history
« on: 28 February, 2005, 17:44:14 »