occupants_updated[occupant] = true;
end
for occupant in pairs(occupants_updated) do
+ occupant:set_session(occupant.jid, st.presence({type="unavailable"}), true);
self:publicise_occupant_status(occupant, x);
module:fire_event("muc-occupant-left", { room = self; nick = occupant.nick; occupant = occupant;});
end
local _M = {}; -- module "muc"
-function _M.new_room(jid, config) -- luacheck: ignore 212
- -- TODO use config?
+function _M.new_room(jid, config)
return setmetatable({
jid = jid;
_jid_nick = {};
_occupants = {};
- _data = {
- };
+ _data = config or {};
_affiliations = {};
}, room_mt);
end
+function room_mt:freeze()
+ return {
+ jid = self.jid;
+ _data = self._data;
+ _affiliations = self._affiliations;
+ }
+end
+
_M.room_mt = room_mt;
return _M;