1

我尝试用 Jitsi 设置一个特殊的行为,但没有太多的 LUA 知识。

Jitsi/Prosody 模块“mod_muc_lobby_rooms.lua”正在实现一些功能,例如 handle_create_lobby(event);. handle_create_lobby正在从内部调用其他子函数。

https://github.com/jitsi/jitsi-meet/blob/master/resources/prosody-plugins/mod_muc_lobby_rooms.lua

但是模块本身不是库模块,所以没有表被导出,另一个代码可以使用“require”。所以我对LUA的理解呢。

对于自己的模块,我只想从另一端使用此功能,无需重新实现或复制/粘贴它。

有什么解决方案,我如何将功能“来源”到我的模块中?

如果可能的话,如果来自 Jitsi 的一些更新即将到来,我希望让“mod_muc_lobby_room.lua”保持不变。

提前致谢。

lua 初学者,Uwe

4

2 回答 2

1

您可以触发一个事件,因为它会监听它

prosody.events.fire_event("create-lobby-room", event)

或者您可以像这样使用模块功能:

local muc_lobby_rooms = module:depends("muc_lobby_rooms");
muc_lobby_rooms.handle_create_lobby(event);
于 2021-04-06T10:07:22.183 回答
0

你可以这样做:

file=io.open("mod_muc_lobby_room.lua")
io.input(file)
load(io.read("*a"))()
io.close(file)

并且位于 mod_muc_lobby_room.lua 中的代码将被执行。

于 2021-04-05T14:38:31.880 回答