diff mod_server_info/mod_server_info.lua @ 5794:174c77da03f5

mod_server_info: New module to add custom service extension forms to disco
author Matthew Wild <mwild1@gmail.com>
date Tue, 12 Dec 2023 19:08:28 +0000
parents
children ed82916e5796
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mod_server_info/mod_server_info.lua	Tue Dec 12 19:08:28 2023 +0000
@@ -0,0 +1,18 @@
+-- XEP-0128: Service Discovery Extensions (manual config)
+--
+-- Copyright (C) 2023 Matthew Wild
+--
+-- This project is MIT/X11 licensed. Please see the
+-- COPYING file in the source package for more information.
+--
+
+local dataforms = require "util.dataforms";
+
+local config = module:get_option("server_info");
+
+if not config or next(config) == nil then return; end -- Nothing to do
+
+for _, form in ipairs(config) do
+	module:add_extension(dataforms.new(form):form({}, "result"));
+end
+