Software /
code /
prosody-modules
Annotate
mod_roster_command/mod_roster_command.lua @ 1508:f7cb287dd3c7
mod_roster_command: Also initialize usermanager
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 20 Sep 2014 11:31:41 +0200 |
parent | 492:f806c8a7f985 |
child | 1509:01e37ce7532e |
rev | line source |
---|---|
453
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 ----------------------------------------------------------- |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 -- mod_roster_command: Manage rosters through prosodyctl |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
3 -- version 0.02 |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 ----------------------------------------------------------- |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 -- Copyright (C) 2011 Matthew Wild |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 -- Copyright (C) 2011 Adam Nielsen |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 -- |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 -- This project is MIT/X11 licensed. Please see the |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 -- COPYING file in the source package for more information. |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 ----------------------------------------------------------- |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 |
492
f806c8a7f985
mod_roster_command: Fix traceback and log error message when loaded into Prosody (thanks epaulin)
Matthew Wild <mwild1@gmail.com>
parents:
453
diff
changeset
|
12 if not rawget(_G, "prosodyctl") then |
f806c8a7f985
mod_roster_command: Fix traceback and log error message when loaded into Prosody (thanks epaulin)
Matthew Wild <mwild1@gmail.com>
parents:
453
diff
changeset
|
13 module:log("error", "Do not load this module in Prosody, for correct usage see: http://code.google.com/p/prosody-modules/wiki/mod_roster_command"); |
f806c8a7f985
mod_roster_command: Fix traceback and log error message when loaded into Prosody (thanks epaulin)
Matthew Wild <mwild1@gmail.com>
parents:
453
diff
changeset
|
14 module.host = "*"; |
f806c8a7f985
mod_roster_command: Fix traceback and log error message when loaded into Prosody (thanks epaulin)
Matthew Wild <mwild1@gmail.com>
parents:
453
diff
changeset
|
15 return; |
f806c8a7f985
mod_roster_command: Fix traceback and log error message when loaded into Prosody (thanks epaulin)
Matthew Wild <mwild1@gmail.com>
parents:
453
diff
changeset
|
16 end |
f806c8a7f985
mod_roster_command: Fix traceback and log error message when loaded into Prosody (thanks epaulin)
Matthew Wild <mwild1@gmail.com>
parents:
453
diff
changeset
|
17 |
f806c8a7f985
mod_roster_command: Fix traceback and log error message when loaded into Prosody (thanks epaulin)
Matthew Wild <mwild1@gmail.com>
parents:
453
diff
changeset
|
18 |
453
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 -- Workaround for lack of util.startup... |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 _G.bare_sessions = _G.bare_sessions or {}; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 local rostermanager = require "core.rostermanager"; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
23 local storagemanager = require "core.storagemanager"; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
24 local jid = require "util.jid"; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
25 local warn = prosodyctl.show_warning; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
26 |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
27 -- Make a *one-way* subscription. User will see when contact is online, |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
28 -- contact will not see when user is online. |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
29 function subscribe(user_jid, contact_jid) |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
30 local user_username, user_host = jid.split(user_jid); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
31 local contact_username, contact_host = jid.split(contact_jid); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
32 if not hosts[user_host] then |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
33 warn("The host '%s' is not configured for this server.", user_host); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
34 return; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
35 end |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
36 storagemanager.initialize_host(user_host); |
1508
f7cb287dd3c7
mod_roster_command: Also initialize usermanager
Kim Alvefur <zash@zash.se>
parents:
492
diff
changeset
|
37 usermanager.initialize_host(user_host); |
453
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
38 -- Update user's roster to say subscription request is pending... |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
39 rostermanager.set_contact_pending_out(user_username, user_host, contact_jid); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
40 if hosts[contact_host] then |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
41 if contact_host ~= user_host then |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
42 storagemanager.initialize_host(contact_host); |
1508
f7cb287dd3c7
mod_roster_command: Also initialize usermanager
Kim Alvefur <zash@zash.se>
parents:
492
diff
changeset
|
43 usermanager.initialize_host(contact_host); |
453
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
44 end |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
45 -- Update contact's roster to say subscription request is pending... |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
46 rostermanager.set_contact_pending_in(contact_username, contact_host, user_jid); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
47 -- Update contact's roster to say subscription request approved... |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
48 rostermanager.subscribed(contact_username, contact_host, user_jid); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
49 -- Update user's roster to say subscription request approved... |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
50 rostermanager.process_inbound_subscription_approval(user_username, user_host, contact_jid); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
51 end |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
52 end |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
53 |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
54 -- Make a mutual subscription between jid1 and jid2. Each JID will see |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
55 -- when the other one is online. |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
56 function subscribe_both(jid1, jid2) |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
57 subscribe(jid1, jid2); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
58 subscribe(jid2, jid1); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
59 end |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
60 |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
61 -- Unsubscribes user from contact (not contact from user, if subscribed). |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
62 function unsubscribe(user_jid, contact_jid) |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
63 local user_username, user_host = jid.split(user_jid); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
64 local contact_username, contact_host = jid.split(contact_jid); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
65 if not hosts[user_host] then |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
66 warn("The host '%s' is not configured for this server.", user_host); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
67 return; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
68 end |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
69 storagemanager.initialize_host(user_host); |
1508
f7cb287dd3c7
mod_roster_command: Also initialize usermanager
Kim Alvefur <zash@zash.se>
parents:
492
diff
changeset
|
70 usermanager.initialize_host(user_host); |
453
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
71 -- Update user's roster to say subscription is cancelled... |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
72 rostermanager.unsubscribe(user_username, user_host, contact_jid); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
73 if hosts[contact_host] then |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
74 if contact_host ~= user_host then |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
75 storagemanager.initialize_host(contact_host); |
1508
f7cb287dd3c7
mod_roster_command: Also initialize usermanager
Kim Alvefur <zash@zash.se>
parents:
492
diff
changeset
|
76 usermanager.initialize_host(contact_host); |
453
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
77 end |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
78 -- Update contact's roster to say subscription is cancelled... |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
79 rostermanager.unsubscribed(contact_username, contact_host, user_jid); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
80 end |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
81 end |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
82 |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
83 -- Cancel any subscription in either direction. |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
84 function unsubscribe_both(jid1, jid2) |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
85 unsubscribe(jid1, jid2); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
86 unsubscribe(jid2, jid1); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
87 end |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
88 |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
89 -- Set the name shown and group used in the contact list |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
90 function rename(user_jid, contact_jid, contact_nick, contact_group) |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
91 local user_username, user_host = jid.split(user_jid); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
92 if not hosts[user_host] then |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
93 warn("The host '%s' is not configured for this server.", user_host); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
94 return; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
95 end |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
96 storagemanager.initialize_host(user_host); |
1508
f7cb287dd3c7
mod_roster_command: Also initialize usermanager
Kim Alvefur <zash@zash.se>
parents:
492
diff
changeset
|
97 usermanager.initialize_host(user_host); |
453
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
98 |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
99 -- Load user's roster and find the contact |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
100 local roster = rostermanager.load_roster(user_username, user_host); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
101 local item = roster[contact_jid]; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
102 if item then |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
103 if contact_nick then |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
104 item.name = contact_nick; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
105 end |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
106 if contact_group then |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
107 item.groups = {}; -- Remove from all current groups |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
108 item.groups[contact_group] = true; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
109 end |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
110 rostermanager.save_roster(user_username, user_host, roster); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
111 end |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
112 end |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
113 |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
114 function module.command(arg) |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
115 local command = arg[1]; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
116 if not command then |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
117 warn("Valid subcommands: (un)subscribe(_both) | rename"); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
118 return 0; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
119 end |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
120 table.remove(arg, 1); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
121 if command == "subscribe" then |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
122 subscribe(arg[1], arg[2]); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
123 return 0; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
124 elseif command == "subscribe_both" then |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
125 subscribe_both(arg[1], arg[2]); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
126 return 0; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
127 elseif command == "unsubscribe" then |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
128 unsubscribe(arg[1], arg[2]); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
129 return 0; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
130 elseif command == "unsubscribe_both" then |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
131 unsubscribe_both(arg[1], arg[2]); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
132 return 0; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
133 elseif command == "rename" then |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
134 rename(arg[1], arg[2], arg[3], arg[4]); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
135 return 0; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
136 else |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
137 warn("Unknown command: %s", command); |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
138 return 1; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
139 end |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
140 return 0; |
1969310ea06a
mod_roster_command: Manage rosters through prosodyctl
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
141 end |