Software /
code /
prosody-modules
Comparison
mod_easy_invite/mod_easy_invite.lua @ 4022:3ac31ddab7eb
mod_easy_invite: Add commands to telnet console
Handy if all you have is SSH access and no ad-hoc capable client
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 16 May 2020 19:48:26 +0200 |
parent | 3788:14028430638b |
child | 4023:7e2db4d61f6c |
comparison
equal
deleted
inserted
replaced
4021:1925d63eec6b | 4022:3ac31ddab7eb |
---|---|
182 | 182 |
183 module:log("debug", "Creating mutual subscription between %s and %s", inviter_username, contact_username); | 183 module:log("debug", "Creating mutual subscription between %s and %s", inviter_username, contact_username); |
184 subscribe_both(module.host, inviter_username, contact_username); | 184 subscribe_both(module.host, inviter_username, contact_username); |
185 end); | 185 end); |
186 | 186 |
187 do | |
188 -- Telnet command | |
189 -- Since the telnet console is global this overwrites the command for | |
190 -- each host it's loaded on, but this should be fine. | |
191 | |
192 local get_module = require "core.modulemanager".get_module; | |
193 | |
194 local console_env = module:shared("/*/admin_telnet/env"); | |
195 | |
196 -- luacheck: ignore 212/self | |
197 console_env.invite = {}; | |
198 function console_env.invite:create_account(user_jid) | |
199 local username, host = jid_split(user_jid); | |
200 local mod_invites, err = get_module(host, "invites"); | |
201 if not mod_invites then return nil, err or "mod_invites not loaded on this host"; end | |
202 local invite, err = mod_invites.create_account(username); | |
203 if not invite then return nil, err; end | |
204 return true, invite.uri; | |
205 end | |
206 | |
207 function console_env.invite:create_contact(user_jid, allow_registration) | |
208 local username, host = jid_split(user_jid); | |
209 local mod_invites, err = get_module(host, "invites"); | |
210 if not mod_invites then return nil, err or "mod_invites not loaded on this host"; end | |
211 local invite, err = mod_invites.create_contact(username, allow_registration); | |
212 if not invite then return nil, err; end | |
213 return true, invite.uri; | |
214 end | |
215 end | |
187 | 216 |
188 local sm = require "core.storagemanager"; | 217 local sm = require "core.storagemanager"; |
189 function module.command(arg) | 218 function module.command(arg) |
190 if #arg < 2 or arg[2] ~= "generate" then | 219 if #arg < 2 or arg[2] ~= "generate" then |
191 print("usage: prosodyctl mod_easy_invite example.net generate"); | 220 print("usage: prosodyctl mod_easy_invite example.net generate"); |