Mercurial > prosody-modules
diff mod_server_info/README.md @ 5794:174c77da03f5
mod_server_info: New module to add custom service extension forms to disco
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Tue, 12 Dec 2023 19:08:28 +0000 |
parents | |
children | ed82916e5796 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_server_info/README.md Tue Dec 12 19:08:28 2023 +0000 @@ -0,0 +1,50 @@ +--- +labels: +- 'Stage-Alpha' +summary: Manually configure extended service discovery info +... + +XEP-0128 defines a way for servers to provide custom information via service +discovery. Various XEPs and plugins make use of this functionality, so that +e.g. clients can look up necessary information. + +This module allows the admin to manually configure service discovery +extensions in the config file. It may be useful as a way to advertise certain +information. + +Everything configured here is publicly visible to other XMPP entities. + +## Configuration + +The `server_info` option accepts a list of dataforms. A dataform is an array +of fields. A field has three required properties: + +- `type` - usually `text-single` or `list-multi` +- `var` - the field name +- `value` the field value + +Example configuration: + +``` lua +server_info = { + + -- Our custom form + { + -- Conventionally XMPP dataforms have a 'FORM_TYPE' field to + -- indicate what type of form it is + { type = "hidden", var = "FORM_TYPE", value = "urn:example:foo" }; + + -- Advertise that our maximum speed is 88 mph + { type = "text-single", var = "speed", value = "88" }; + + -- Advertise that the time is 1:20 AM and zero seconds + { type = "text-single", var = "time", value = "01:21:00" }; + }; + +} +``` + +## Compatibility + +This module should be compatible with Prosody 0.12, and possibly earlier +versions.