Mercurial > prosody-modules
view mod_support_room/mod_support_room.lua @ 6083:ffd0184cd478
mod_compliance_latest: New module that depends on and therefore loads the latest compliance tester mod.
diff --git a/mod_compliance_latest/README.md b/mod_compliance_latest/README.md
new file mode 100644
--- /dev/null
+++ b/mod_compliance_latest/README.md
@@ -0,0 +1,25 @@
+---
+summary: XMPP Compliance Suites self-test
+labels:
+- Stage-Beta
+rockspec:
+ dependencies:
+ - mod_compliance_2023
+...
+
+# Introduction
+
+This module will always require and load to the lastest compliance tester we have in the community modules.
+Currently this is [mod_compliance_2023].
+
+# Configuration
+
+Just load this module as any other module and it will automatically install [mod_compliance_2023] if you use the Prosody plugin installer.
+See the linked module for further details.
+
+# Compatibility
+
+ Prosody-Version Status
+ --------------- ----------------------
+ trunk Works as of 2024-12-22
+ 0.12 Works
diff --git a/mod_compliance_latest/mod_compliance_latest.lua b/mod_compliance_latest/mod_compliance_latest.lua
new file mode 100644
--- /dev/null
+++ b/mod_compliance_latest/mod_compliance_latest.lua
@@ -0,0 +1,1 @@
+module:depends("compliance_2023");
| author | Menel <menel@snikket.de> |
|---|---|
| date | Sun, 22 Dec 2024 18:12:42 +0100 |
| parents | f72aa8840042 |
| children |
line wrap: on
line source
local mm = require "core.modulemanager"; local st = require "util.stanza"; local jid_host, jid_prep = import("util.jid", "host", "prep"); local invite_to_room = assert(jid_prep(module:get_option_string(module.name)), "The option " .. module.name .. " must be set"); local inviter = module:get_option_string(module.name .. "_inviter", module.host); local invite_reason = module:get_option_string(module.name .. "_reason"); module:hook("user-registered", function (event) local user_jid = event.username .. "@" .. event.host; local muc = mm.get_module(jid_host(invite_to_room), "muc"); if not muc then module:log("error", "There is no MUC service '%s'", jid_host(invite_to_room)); return; end local room = muc.get_room_from_jid(invite_to_room); if room then room:set_affiliation(true, user_jid, "member", invite_reason, { reserved_nickname = event.username }); -- Invite them to the room too module:send(st.message({ from = inviter, to = user_jid }) :tag("x", { xmlns = "jabber:x:conference", jid = invite_to_room, reason = invite_reason }):up()); else module:log("error", "The room %s does not exist, can't invite newly registered user", invite_to_room); end end);
