Software /
code /
prosody
File
plugins/mod_csi.lua @ 10936:d770435f0f84
util.argparse: Move exiting and error to util.startup
It's not so nice to have a library that exits the entire application
from under you, so this and the error reporting belongs in util.startup.
The argparse code was originally in util.startup but moved out in
1196f1e8d178 but the error handling should have stayed.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 17 Jun 2020 19:32:12 +0200 |
parent | 10429:0b04d25c4ffb |
child | 12977:74b9e05af71e |
line wrap: on
line source
local st = require "util.stanza"; local xmlns_csi = "urn:xmpp:csi:0"; local csi_feature = st.stanza("csi", { xmlns = xmlns_csi }); local csi_handler_available = nil; module:hook("stream-features", function (event) if event.origin.username and csi_handler_available then event.features:add_child(csi_feature); end end); function refire_event(name) return function (event) if event.origin.username then event.origin.state = event.stanza.name; module:fire_event(name, event); return true; end end; end module:hook("stanza/"..xmlns_csi..":active", refire_event("csi-client-active")); module:hook("stanza/"..xmlns_csi..":inactive", refire_event("csi-client-inactive")); function module.load() if prosody.hosts[module.host].events._handlers["csi-client-active"] then csi_handler_available = true; module:set_status("core", "CSI handler module loaded"); else csi_handler_available = false; module:set_status("warn", "No CSI handler module loaded"); end end module:hook("module-loaded", module.load); module:hook("module-unloaded", module.load);