Mercurial > prosody-modules
diff mod_easy_invite/mod_easy_invite.lua @ 3778:7209f481bcfe
mod_easy_invite: Add prosodyctl command to generate account invites
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 27 Dec 2019 11:00:43 +0000 |
parents | 26559776a87e |
children | 14028430638b |
line wrap: on
line diff
--- a/mod_easy_invite/mod_easy_invite.lua Fri Dec 27 10:41:01 2019 +0000 +++ b/mod_easy_invite/mod_easy_invite.lua Fri Dec 27 11:00:43 2019 +0000 @@ -16,7 +16,10 @@ -- Whether local users can invite other users to create an account on this server local allow_user_invites = module:get_option_boolean("allow_user_invites", true); -local invites = module:depends("invites"); +local invites; +if prosody.shutdown then -- COMPAT hack to detect prosodyctl + invites = module:depends("invites"); +end local invite_result_form = dataforms.new({ title = "Your Invite", @@ -180,3 +183,21 @@ module:log("debug", "Creating mutual subscription between %s and %s", inviter_username, contact_username); subscribe_both(module.host, inviter_username, contact_username); end); + + +local sm = require "core.storagemanager"; +function module.command(arg) + if #arg < 2 then + print("usage: prosodyctl mod_easy_invite example.net register"); + return; + end + + local host = arg[1]; + assert(hosts[host], "Host "..tostring(host).." does not exist"); + sm.initialize_host(host); + + invites = module:context(host):depends("invites"); + local invite = invites.create_account(); + print(invite.uri); +end +