equal
deleted
inserted
replaced
133 module:hook("muc-occupant-session-new", function(event) |
133 module:hook("muc-occupant-session-new", function(event) |
134 send_history(event.room, event.stanza); |
134 send_history(event.room, event.stanza); |
135 end, 50); -- Before subject(20) |
135 end, 50); -- Before subject(20) |
136 |
136 |
137 -- add to history |
137 -- add to history |
138 module:hook("muc-broadcast-message", function(event) |
138 module:hook("muc-add-history", function(event) |
139 local historic = event.stanza:get_child("body"); |
139 local historic = event.stanza:get_child("body"); |
140 if historic then |
140 if historic then |
141 local room = event.room |
141 local room = event.room |
142 local history = room._data["history"]; |
142 local history = room._data["history"]; |
143 if not history then history = {}; room._data["history"] = history; end |
143 if not history then history = {}; room._data["history"] = history; end |
149 stanza:tag("x", {xmlns = "jabber:x:delay", from = module.host, stamp = datetime.legacy()}):up(); -- XEP-0091 (deprecated) |
149 stanza:tag("x", {xmlns = "jabber:x:delay", from = module.host, stamp = datetime.legacy()}):up(); -- XEP-0091 (deprecated) |
150 local entry = { stanza = stanza, timestamp = ts }; |
150 local entry = { stanza = stanza, timestamp = ts }; |
151 table.insert(history, entry); |
151 table.insert(history, entry); |
152 while #history > get_historylength(room) do table.remove(history, 1) end |
152 while #history > get_historylength(room) do table.remove(history, 1) end |
153 end |
153 end |
|
154 return true; |
|
155 end, -1); |
|
156 |
|
157 -- Have a single muc-add-history event, so that plugins can mark it |
|
158 -- as handled without stopping other muc-broadcast-message handlers |
|
159 module:hook("muc-broadcast-message", function(event) |
|
160 module:fire_event("muc-add-history", event); |
154 end); |
161 end); |
155 |
162 |
156 return { |
163 return { |
157 set_max_length = set_max_history_length; |
164 set_max_length = set_max_history_length; |
158 parse_history = parse_history; |
165 parse_history = parse_history; |