41 lines
1.3 KiB
Lua
41 lines
1.3 KiB
Lua
-- Prosody IM
|
|
-- Copyright (C) 2008-2017 Matthew Wild
|
|
-- Copyright (C) 2008-2017 Waqas Hussain
|
|
-- Copyright (C) 2011-2017 Kim Alvefur
|
|
-- Copyright (C) 2011-2017 Stefan Sänger
|
|
--
|
|
-- This project is MIT/X11 licensed. Please see the
|
|
-- COPYING file in the source package for more information.
|
|
--
|
|
-- store kicks based on mod_mam
|
|
--
|
|
|
|
local um = require "core.usermanager";
|
|
local st = require "util.stanza";
|
|
local rsm = require "util.rsm";
|
|
local jid_bare = require "util.jid".bare;
|
|
local jid_split = require "util.jid".split;
|
|
local jid_prepped_split = require "util.jid".prepped_split;
|
|
local host = module.host;
|
|
|
|
local is_stanza = st.is_stanza;
|
|
local tostring = tostring;
|
|
local time_now = os.time;
|
|
local m_min = math.min;
|
|
local timestamp, timestamp_parse = require "util.datetime".datetime, require "util.datetime".parse;
|
|
|
|
local kick_store = module:open_store("kick", "archive");
|
|
|
|
module:hook("vnc-muc-kick", function (event)
|
|
-- module:log("info", "vnc-muc-kick room: %s", event.room);
|
|
-- module:log("info", "vnc-muc-kick who: %s", event.who);
|
|
local room_node = jid_split(event.room);
|
|
local kicktime = tostring(os.time());
|
|
local id, err = kick_store:append(room_node, nil, "<status>kicked or left</status>", time_now(), event.who);
|
|
if id then
|
|
module:log("info", "stored as id: %s", id);
|
|
else
|
|
module:log("info", "failed to store: %s", err);
|
|
end
|
|
end);
|