diff options
author | Matthew Wild <mwild1@gmail.com> | 2012-07-28 01:14:31 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2012-07-28 01:14:31 +0100 |
commit | 81bef2c93b53e006cbeebdffc80040af6b4daf68 (patch) | |
tree | 2732225257e7b8ade28695dad7c0df3f7cea00b1 /plugins/mod_message.lua | |
parent | 8eec29745633bd84c2d325d42dbeeb4afd37d516 (diff) | |
parent | 47619af14cd24fcb48b4d2b4c4653f72b882087e (diff) | |
download | prosody-81bef2c93b53e006cbeebdffc80040af6b4daf68.tar.gz prosody-81bef2c93b53e006cbeebdffc80040af6b4daf68.zip |
Merge with Florob
Diffstat (limited to 'plugins/mod_message.lua')
-rw-r--r-- | plugins/mod_message.lua | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/plugins/mod_message.lua b/plugins/mod_message.lua index ebff2fe7..0b0ad8e4 100644 --- a/plugins/mod_message.lua +++ b/plugins/mod_message.lua @@ -35,10 +35,13 @@ local function process_to_bare(bare, origin, stanza) if user then -- some resources are connected local recipients = user.top_resources; if recipients then + local sent; for i=1,#recipients do - recipients[i].send(stanza); + sent = recipients[i].send(stanza) or sent; + end + if sent then + return true; end - return true; end end -- no resources are online @@ -65,9 +68,7 @@ module:hook("message/full", function(data) local origin, stanza = data.origin, data.stanza; local session = full_sessions[stanza.attr.to]; - if session then - -- TODO fire post processing event - session.send(stanza); + if session and session.send(stanza) then return true; else -- resource not online return process_to_bare(jid_bare(stanza.attr.to), origin, stanza); |