Annotate

mod_groups_internal/README.markdown @ 6176:23e66cfc77d4

mod_groups_internal: Add README
author Rémi Bardon <remi@remibardon.name>
date Fri, 12 Jul 2024 19:00:06 +0200
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6176
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
1 ---
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
2 labels:
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
3 - 'Stage-Beta'
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
4 summary: Equivalent of mod_groups but without a configuration file
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
5 ---
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
6
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
7 ## Introduction
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
8
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
9 This module is functionally similar to [`mod_groups`], but it differs by working without a configuration file (allowing changes without a restart of the server) and by permanently adding users to each other's contact lists. To paraphrase [`mod_groups`]:
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
10
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
11 > `mod_groups_internal` was designed to allow administrators to create virtual groups of users that automatically see each other in their contact lists. There is no need for the user to authorise these contacts in their contact list - this is done automatically on the server.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
12 >
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
13 > As an example, if you have a team of people working together on a project, you can create a group for that team. They will automatically be added to each others' contact lists, and the list can easily be modified on the server at any time to add and remove people.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
14
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
15 ::: {.alert .alert-info}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
16 On `user-deleted` events, `mod_groups_internal` will automatically remove the deleted user from every group they were part of.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
17 :::
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
18
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
19 ## Setup
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
20
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
21 ```lua
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
22 modules_enabled = {
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
23 -- Other modules
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
24 "groups_internal"; -- Enable mod_groups_internal
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
25 }
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
26 ```
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
27
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
28 ## Configuration
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
29
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
30 ### `groups_muc_host` {#groups_muc_host}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
31
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
32 | Option | Default | Notes |
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
33 | ------ | ------- | ----- |
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
34 | `groups_muc_host` | `groups.<module.host>` | Host where the group chats will be created. |
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
35
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
36 ## Usage
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
37
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
38 ### Exposed functions
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
39
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
40 #### `create(group_info, create_default_muc, group_id)` {#create}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
41
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
42 Creates a new group, optionally creating a default MUC chat on [`groups_muc_host`](#groups_muc_host).
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
43
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
44 **Parameters:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
45
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
46 1. `group_info: { name: string }`
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
47 2. `create_default_muc: boolean | nil`: Whether or not to create the default MUC chat. Defaults to `false`.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
48 3. `group_id: string | nil`: The desired group JID node part. Defaults to [`util.id.short`](https://prosody.im/doc/developers/util/id) (9-chars URL-safe base64).
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
49
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
50 **Returns:** `group_id: string | nil, error: string`
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
51
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
52 #### `get_info(group_id)` {#get_info}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
53
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
54 Retrieves information about a group.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
55
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
56 **Parameters:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
57
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
58 1. `group_id: string`: Node part of the group's JID.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
59
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
60 **Returns:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
61
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
62 ```lua
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
63 group_info: {
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
64 name: string,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
65 muc_jid: string | nil
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
66 }
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
67 | nil
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
68 ```
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
69
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
70 #### `set_info(group_id, info)` {#set_info}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
71
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
72 Allows one to change a group's name. If `muc_jid` is specified, this function will also update the group chat's name.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
73
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
74 **Parameters:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
75
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
76 1. `group_id: string`: Node part of the group's JID.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
77 2. `group_info: { name: string, muc_jid: string | nil }`
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
78
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
79 **Returns[^pseudo-lua]:** `true | nil, error: string`
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
80
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
81 #### `get_members(group_id)` {#get_members}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
82
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
83 Retrieves the list of members in a given group.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
84
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
85 **Parameters:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
86
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
87 1. `group_id: string`: Node part of the group's JID.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
88
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
89 **Returns[^pseudo-lua]:** `group_members: [string]`
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
90
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
91 #### `exists(group_id)` {#exists}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
92
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
93 Returns whether or not a group exists.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
94
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
95 **Parameters:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
96
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
97 1. `group_id: string`: Node part of the group's JID.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
98
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
99 **Returns:** `group_exists: boolean`
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
100
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
101 #### `get_user_groups(username)` {#get_user_groups}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
102
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
103 Lists which groups a given user is a part of.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
104
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
105 **Parameters:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
106
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
107 1. `username: string`: Node part of the user's JID.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
108
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
109 **Returns[^pseudo-lua]:** `user_groups: [string]`
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
110
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
111 #### `delete(group_id)` {#delete}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
112
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
113 Deletes a given group and its associated group chats.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
114
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
115 **Parameters:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
116
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
117 1. `group_id: string`: Node part of the group's JID.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
118
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
119 **Returns[^pseudo-lua]:** `true | nil, error: string`
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
120
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
121 #### `add_member(group_id, username, delay_update)` {#add_member}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
122
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
123 Adds a member to a given group, optionally delaying subscriptions until [`sync`](#sync) is called.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
124
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
125 ::: {.alert .alert-info}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
126 This function emits a [`group-user-added`](#group-user-added) event on successful execution.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
127 :::
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
128
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
129 **Parameters:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
130
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
131 1. `group_id: string`: Node part of the group's JID.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
132 2. `delay_update: boolean | nil`: Do not update subscriptions until [`sync`](#sync) is called. Defaults to `false`.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
133
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
134 **Returns:** `true | nil, error: string`
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
135
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
136 #### `remove_member(group_id, username)` {#remove_member}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
137
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
138 Removes a member from a given group.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
139
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
140 ::: {.alert .alert-info}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
141 This function emits a [`group-user-removed`](#group-user-removed) event on successful execution.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
142 :::
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
143
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
144 **Parameters:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
145
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
146 1. `group_id: string`: Node part of the group's JID.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
147 2. `username: string`: Node part of the user's JID.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
148
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
149 **Returns:** `true | nil, error: string`
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
150
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
151 #### `sync(group_id)` {#sync}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
152
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
153 Updates group subscriptions (used to apply pending changes from [`add_member`](#add_member)).
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
154
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
155 **Parameters:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
156
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
157 1. `group_id: string`: Node part of the group's JID.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
158
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
159 **Returns:** `nil`
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
160
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
161 #### `add_group_chat(group_id, name)` {#add_group_chat}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
162
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
163 Creates a new group chat for a given group.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
164
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
165 ::: {.alert .alert-info}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
166 Its JID will be `<`[`util.id.short`](https://prosody.im/doc/developers/util/id)`>@<`[`option:groups_muc_host`](#groups_muc_host)`>`.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
167 :::
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
168
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
169 **Parameters:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
170
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
171 1. `group_id: string`: Node part of the group's JID.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
172 2. `name: string`: Desired name of the group chat.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
173
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
174 **Returns[^pseudo-lua]:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
175
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
176 ```lua
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
177 muc: {
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
178 jid: string,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
179 name: string,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
180 }
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
181 | nil, error: string
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
182 ```
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
183
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
184 #### `remove_group_chat(group_id, muc_id)` {#remove_group_chat}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
185
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
186 Removes a group chat for a given group.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
187
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
188 ::: {.alert .alert-info}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
189 This function emits a [`group-chat-removed`](#group-chat-removed) event on successful execution.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
190 :::
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
191
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
192 **Parameters:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
193
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
194 1. `group_id: string`: Node part of the group's JID.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
195 2. `muc_id: string`: Node part of the MUC JID.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
196
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
197 **Returns[^pseudo-lua]:** `true | nil, error: string`
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
198
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
199 #### `get_group_chats(group_id)` {#get_group_chats}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
200
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
201 Lists group chats associated to a given group.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
202
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
203 ::: {.alert .alert-warning}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
204 Make sure to check the `deleted` property on each chat as this function might return information about deleted chats.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
205 :::
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
206
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
207 **Parameters:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
208
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
209 1. `group_id: string`: Node part of the group's JID.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
210
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
211 **Returns[^pseudo-lua]:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
212
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
213 ```lua
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
214 group_chats: [
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
215 {
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
216 id: string, -- muc_id (node part of the MUC JID)
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
217 jid: string,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
218 name: string,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
219 deleted = boolean,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
220 }
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
221 ]
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
222 | nil
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
223 ```
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
224
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
225 #### `emit_member_events(group_id)` {#emit_member_events}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
226
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
227 Emits [`group-user-added`](#group-user-added) events for every member of a group.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
228
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
229 **Parameters:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
230
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
231 1. `group_id: string`: Node part of the group's JID.
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
232
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
233 **Returns[^pseudo-lua]:** `true | false, error: string`
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
234
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
235 #### `groups()` {#groups}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
236
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
237 Returns info about all groups (for every `group_id` key, the value is the equivalent of calling `get_info(group_id)`).
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
238
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
239 **Returns[^pseudo-lua]:**
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
240
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
241 ```lua
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
242 groups: {
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
243 [<group_id>]: {
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
244 name: string,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
245 muc_jid: string | nil
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
246 }
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
247 }
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
248 ```
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
249
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
250 (Where `<group_id>` is a
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
251
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
252 ### Emitted events {#events}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
253
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
254 #### `group-user-added` {#group-user-added}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
255
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
256 Emitted on successful [`add_member`](#add_member) and on [`emit_member_events`](#emit_member_events).
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
257
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
258 Payload structure:
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
259
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
260 ```lua
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
261 {
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
262 id: string, -- group_id (node part of the group's JID)
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
263 user: string, -- username (node part of the user's JID)
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
264 host: string, -- <module.host>
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
265 group_info: {
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
266 name: string,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
267 muc_jid: string | nil,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
268 mucs: [string] | nil,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
269 },
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
270 }
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
271 ```
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
272
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
273 #### `group-user-removed` {#group-user-removed}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
274
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
275 Emitted on successful [`remove_member`](#remove_member).
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
276
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
277 Payload structure:
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
278
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
279 ```lua
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
280 {
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
281 id: string, -- group_id (node part of the group's JID)
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
282 user: string, -- username (node part of the user's JID)
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
283 host: string, -- <module.host>
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
284 group_info: {
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
285 name: string,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
286 muc_jid: string | nil,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
287 mucs: [string] | nil,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
288 },
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
289 }
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
290 ```
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
291
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
292 #### `group-chat-added` {#group-chat-added}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
293
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
294 Emitted on successful [`add_group_chat`](#add_group_chat).
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
295
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
296 Payload structure:
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
297
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
298 ```lua
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
299 {
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
300 group_id: string,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
301 group_info: {
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
302 name: string,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
303 mucs: [string],
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
304 },
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
305 muc: {
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
306 jid: string,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
307 name: string,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
308 },
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
309 }
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
310 ```
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
311
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
312 #### `group-chat-removed` {#group-chat-removed}
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
313
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
314 Emitted on successful [`remove_group_chat`](#remove_group_chat).
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
315
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
316 Payload structure:
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
317
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
318 ```lua
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
319 {
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
320 group_id: string, -- group_id (node part of the group's JID)
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
321 group_info: {
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
322 name: string,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
323 mucs: [string],
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
324 },
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
325 muc: {
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
326 id: string, -- muc_id (node part of the MUC JID)
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
327 jid: string,
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
328 },
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
329 }
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
330 ```
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
331
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
332 [^pseudo-lua]: As "pseudo-Lua" code. `[…]` represents a list and `[…]` as a map key means `0..n` times the key (it's not just one element).
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
333
23e66cfc77d4 mod_groups_internal: Add README
Rémi Bardon <remi@remibardon.name>
parents:
diff changeset
334 [`mod_groups`]: https://prosody.im/doc/modules/mod_groups "mod_groups – Prosody IM"