Software /
code /
prosody-modules
Comparison
mod_groups_internal/mod_groups_internal.lua @ 4399:846b7af5588c
mod_groups_internal: send invite to new members of groups
author | Jonas Schäfer <jonas@wielicki.name> |
---|---|
date | Tue, 26 Jan 2021 17:28:26 +0100 |
parent | 4392:e5792ca1d704 |
child | 4403:31470a256851 |
comparison
equal
deleted
inserted
replaced
4398:a16b689525d7 | 4399:846b7af5588c |
---|---|
1 local rostermanager = require"core.rostermanager"; | 1 local rostermanager = require"core.rostermanager"; |
2 local modulemanager = require"core.modulemanager"; | 2 local modulemanager = require"core.modulemanager"; |
3 local id = require "util.id"; | 3 local id = require "util.id"; |
4 local jid = require "util.jid"; | 4 local jid = require "util.jid"; |
5 local st = require "util.stanza"; | |
5 local jid_join = jid.join; | 6 local jid_join = jid.join; |
6 local host = module.host; | 7 local host = module.host; |
7 | 8 |
8 local group_info_store = module:open_store("group_info"); | 9 local group_info_store = module:open_store("group_info"); |
9 local group_members_store = module:open_store("groups"); | 10 local group_members_store = module:open_store("groups"); |
203 if group_info.muc_jid then | 204 if group_info.muc_jid then |
204 local room = muc_host.get_room_from_jid(group_info.muc_jid); | 205 local room = muc_host.get_room_from_jid(group_info.muc_jid); |
205 if room then | 206 if room then |
206 local user_jid = username .. "@" .. host; | 207 local user_jid = username .. "@" .. host; |
207 room:set_affiliation(true, user_jid, "member") | 208 room:set_affiliation(true, user_jid, "member") |
209 module:send(st.message( | |
210 { from = group_info.muc_jid, to = user_jid } | |
211 ):tag("x", { | |
212 xmlns = "jabber:x:conference", | |
213 jid = group_info.muc_jid | |
214 }):up()); | |
215 module:log("debug", "set user %s to be member in %s and sent invite", username, group_info.muc_jid) | |
208 else | 216 else |
209 module:log("warning", "failed to update affiliation for %s in %s", username, group_info.muc_jid) | 217 module:log("warning", "failed to update affiliation for %s in %s", username, group_info.muc_jid) |
210 end | 218 end |
211 end | 219 end |
212 if not delay_update then | 220 if not delay_update then |