36 unsub = function(param) conn:send(verse.presence{to=param, type="unsubscribe"}); end; |
36 unsub = function(param) conn:send(verse.presence{to=param, type="unsubscribe"}); end; |
37 auth = function(param) conn:send(verse.presence{to=param, type="subscribed"}); end; |
37 auth = function(param) conn:send(verse.presence{to=param, type="subscribed"}); end; |
38 unauth = function(param) conn:send(verse.presence{to=param, type="unsubscribed"}); end; |
38 unauth = function(param) conn:send(verse.presence{to=param, type="unsubscribed"}); end; |
39 del = function(param) conn.roster:delete_contact(param) end; |
39 del = function(param) conn.roster:delete_contact(param) end; |
40 setnick = function(param) |
40 setnick = function(param) |
41 local jid, nick = param:match("^(%S+)%s+(%S+)"); |
41 local jid, nick = param:match("^(%S+)%s+(.+)"); |
42 local item = conn.roster.items[jid]; |
42 local item = conn.roster.items[jid]; |
43 if not item then print("no jid "..jid); return; end |
43 if not item then print("no jid "..jid); return; end |
44 conn.roster:add_contact(jid, nick, item.groups or {}, printor("saved")); |
44 conn.roster:add_contact(jid, nick, item.groups or {}, printor("saved")); |
45 end; |
45 end; |
46 addgroup = function(param) |
46 addgroup = function(param) |
47 local jid, group = param:match("^(%S+)%s+(%S+)"); |
47 local jid, group = param:match("^(%S+)%s+(.+)"); |
48 local item = conn.roster.items[jid]; |
48 local item = conn.roster.items[jid]; |
49 local groups = item.groups or {}; |
49 local groups = item.groups or {}; |
50 table.insert(groups, group); |
50 table.insert(groups, group); |
51 conn.roster:add_contact(jid, item.name, groups, printor("saved")); |
51 conn.roster:add_contact(jid, item.name, groups, printor("saved")); |
52 end; |
52 end; |
53 delgroup = function(param) |
53 delgroup = function(param) |
54 local jid, group = param:match("^(%S+)%s+(%S+)"); |
54 local jid, group = param:match("^(%S+)%s+(.+)"); |
55 local item = conn.roster.items[jid]; |
55 local item = conn.roster.items[jid]; |
56 local groups = item.groups; |
56 local groups = item.groups; |
57 if not groups then return end; |
57 if not groups then return end; |
58 for i = 1,#groups do |
58 for i = 1,#groups do |
59 if groups[i] == group then |
59 if groups[i] == group then |