Software /
code /
prosody
File
plugins/mod_csi.lua @ 12637:2200f0c6b3f1 0.12
mod_admin_shell: Switch names for user role management commands
user:roles() does not convey that this is the mutating command, it
should have been called setroles from the start but wasn't due to lack
of foresight. This has to accidentally removing roles when wanting to
show them.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 15 Aug 2022 18:56:22 +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);