Mercurial > prosody-hg
comparison plugins/mod_carbons.lua @ 6803:7ed87299dbf9
mod_carbons: Carbon chat messages or normal messages that have a body
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Wed, 26 Aug 2015 17:35:41 +0200 |
| parents | 3426e903c48d |
| children | 9f40ae38f0de |
comparison
equal
deleted
inserted
replaced
| 6802:442019e955dc | 6803:7ed87299dbf9 |
|---|---|
| 19 module:hook("iq-set/self/"..xmlns_carbons..":disable", toggle_carbons); | 19 module:hook("iq-set/self/"..xmlns_carbons..":disable", toggle_carbons); |
| 20 module:hook("iq-set/self/"..xmlns_carbons..":enable", toggle_carbons); | 20 module:hook("iq-set/self/"..xmlns_carbons..":enable", toggle_carbons); |
| 21 | 21 |
| 22 local function message_handler(event, c2s) | 22 local function message_handler(event, c2s) |
| 23 local origin, stanza = event.origin, event.stanza; | 23 local origin, stanza = event.origin, event.stanza; |
| 24 local orig_type = stanza.attr.type; | 24 local orig_type = stanza.attr.type or "normal"; |
| 25 local orig_from = stanza.attr.from; | 25 local orig_from = stanza.attr.from; |
| 26 local orig_to = stanza.attr.to; | 26 local orig_to = stanza.attr.to; |
| 27 | 27 |
| 28 if not (orig_type == nil | 28 if not(orig_type == "chat" or orig_type == "normal" and stanza:get_child("body")) then |
| 29 or orig_type == "normal" | 29 return -- Only chat type messages |
| 30 or orig_type == "chat") then | |
| 31 return -- No carbons for messages of type error or headline | |
| 32 end | 30 end |
| 33 | 31 |
| 34 -- Stanza sent by a local client | 32 -- Stanza sent by a local client |
| 35 local bare_jid = jid_bare(orig_from); | 33 local bare_jid = jid_bare(orig_from); |
| 36 local target_session = origin; | 34 local target_session = origin; |
