aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2024-01-13 10:59:04 +0100
committerKim Alvefur <zash@zash.se>2024-01-13 10:59:04 +0100
commit2a5e7ab8be5a519be49e79e2edb584ca998864de (patch)
treea0b12da0a20059b3a54b329aa0cdefe77005e6e4 /plugins
parent1252713d89dcd2f17d68ce27d1bb45daf5f313c8 (diff)
downloadprosody-2a5e7ab8be5a519be49e79e2edb584ca998864de.tar.gz
prosody-2a5e7ab8be5a519be49e79e2edb584ca998864de.zip
mod_invites: Show help if --help passed instead of hostname
Because I couldn't guess the right way to get the help message without reading the source twice.
Diffstat (limited to 'plugins')
-rw-r--r--plugins/mod_invites.lua43
1 files changed, 25 insertions, 18 deletions
diff --git a/plugins/mod_invites.lua b/plugins/mod_invites.lua
index d49d5d36..5d378f84 100644
--- a/plugins/mod_invites.lua
+++ b/plugins/mod_invites.lua
@@ -249,24 +249,7 @@ function module.command(arg)
end
function subcommands.generate(arg)
-
- local sm = require "prosody.core.storagemanager";
- local mm = require "prosody.core.modulemanager";
-
- local host = table.remove(arg, 1); -- pop host
- assert(prosody.hosts[host], "Host "..tostring(host).." does not exist");
- sm.initialize_host(host);
- module.host = host; --luacheck: ignore 122/module
- token_storage = module:open_store("invite_token", "map");
-
- local opts = argparse.parse(arg, {
- short_params = { h = "help"; ["?"] = "help"; g = "group" };
- value_params = { group = true; reset = true; role = true };
- array_params = { group = true; role = true };
- });
-
-
- if opts.help then
+ local function help()
print("usage: prosodyctl mod_" .. module.name .. " generate DOMAIN --reset USERNAME")
print("usage: prosodyctl mod_" .. module.name .. " generate DOMAIN [--admin] [--role ROLE] [--group GROUPID]...")
print()
@@ -292,6 +275,30 @@ function subcommands.generate(arg)
return 2
end
+ local earlyopts = argparse.parse(arg, { short_params = { h = "help"; ["?"] = "help" } });
+ if earlyopts.help or next(earlyopts) ~= nil then
+ return help();
+ end
+
+ local sm = require "prosody.core.storagemanager";
+ local mm = require "prosody.core.modulemanager";
+
+ local host = table.remove(arg, 1); -- pop host
+ assert(prosody.hosts[host], "Host "..tostring(host).." does not exist");
+ sm.initialize_host(host);
+ module.host = host; --luacheck: ignore 122/module
+ token_storage = module:open_store("invite_token", "map");
+
+ local opts = argparse.parse(arg, {
+ short_params = { h = "help"; ["?"] = "help"; g = "group" };
+ value_params = { group = true; reset = true; role = true };
+ array_params = { group = true; role = true };
+ });
+
+ if opts.help then
+ return help();
+ end
+
-- Load mod_invites
local invites = module:depends("invites");
-- Optional community module that if used, needs to be loaded here