Как добавить компонент muc без перезапуска просодического сервера

Чтобы добавить компонент muc без перезапуска сервера prosody, выполните следующий код, а затем попытайтесь выполнить его с помощью rest API. но компонент muc не может загрузиться.

--------------code begin---------------
localh hm = require "core.hostmanager";
local mm = require "core.modulemanager";

host= "muc.example.co";
hm.activate(host);
local key= "component_module";
local value = "muc";
cmg._M.set(host, key, value);
mm.load_modules_for_host(host);

-----code end-----------------

Как мы можем включить точку обслуживания muc без перезагрузки сервера prosody.


person MAK    schedule 29.12.2016    source источник


Ответы (1)


Используя приведенный ниже код, мы можем добиться этого

local muc_host= "test.example.com"
local hm = require "core.hostmanager";
local cmg = require "core.configmanager";
local append_text= 'Component "'..muc_host..'" "muc" \n'

            --appending the text to config file
            local file_name="/etc/prosody/prosody.cfg.lua"
            file = io.open(file_name, "a")
            file:write(append_text)
            file:close()
            -- load & activate new muc server
            local lstatus=cmg.load(file_name)
            local new_server_status = hm.activate(muc_host)
            mm.load_modules_for_host(host)
person MAK    schedule 02.01.2017