Software /
code /
prosody-modules
File
mod_reload_modules/mod_reload_modules.lua @ 786:e318a341d332
mod_broadcast: New module to set up a component that forwards received messages to all online users (similar to Openfire's broadcast module) (thanks Yann Verry)
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Tue, 07 Aug 2012 15:51:15 +0100 |
parent | 502:aad0b2df9e6b |
child | 1178:412f62d05a23 |
line wrap: on
line source
local mm = require "core.modulemanager"; local function reload_module(name) local ok, err = mm.reload(module.host, name); if ok then module:log("debug", "Reloaded %s", name); else module:log("error", "Failed to reload %s: %s", name, err); end end function reload_all() local modules = module:get_option_array("reload_modules"); if not modules then module:log("warn", "No modules listed in the config to reload - set reload_modules to a list"); return; end for _, module in ipairs(modules) do reload_module(module); end end if module.hook_global then module:hook_global("config-reloaded", reload_all); else -- COMPAT w/pre-0.9 function module.load() prosody.events.add_handler("config-reloaded", reload_all); end function module.unload() prosody.events.remove_handler("config-reloaded", reload_all); end end