Software /
code /
prosody
Diff
plugins/mod_presence.lua @ 1479:eef17ebe3ca1
Moved automatic unavailable presence generation on disconnect from sessionmanager to mod_presence
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Sun, 05 Jul 2009 17:45:44 +0500 |
parent | 1477:e0411d6c9bae |
child | 1480:93d3295fb064 |
line wrap: on
line diff
--- a/plugins/mod_presence.lua Sun Jul 05 16:21:58 2009 +0500 +++ b/plugins/mod_presence.lua Sun Jul 05 17:45:44 2009 +0500 @@ -315,3 +315,14 @@ end -- resource not online, discard return true; end); + +module:hook("resource-unbind", function(event) + local session, err = event.session, event.error; + -- Send unavailable presence + if session.presence then + local pres = st.presence{ type = "unavailable" }; + if not(err) or err == "closed" then err = "connection closed"; end + pres:tag("status"):text("Disconnected: "..err):up(); + session:dispatch_stanza(pres); + end +end);