Software / code / prosody-modules
File
mod_pastebin/README.md @ 6302:06fbbd45ba75
mod_cloud_notify: Readme: fix links and labels that were removed in the last commit
diff --git a/mod_cloud_notify/README.md b/mod_cloud_notify/README.md
--- a/mod_cloud_notify/README.md
+++ b/mod_cloud_notify/README.md
@@ -1,3 +1,9 @@
+----
+-labels:
+-- 'Stage-Beta'
+-summary: 'XEP-0357: Cloud push notifications'
+----
+
# Introduction
This module enables support for sending "push notifications" to clients
@@ -32,15 +38,15 @@ notification to your device. When your d
it will display it or wake up the app so it can connect to XMPP and
receive any pending messages.
-This protocol is described for developers in \[XEP-0357: Push
-Notifications\].
+This protocol is described for developers in [XEP-0357: Push
+Notifications].
-For this module to work reliably, you must have \[mod_smacks\],
-\[mod_mam\] and \[mod_carbons\] also enabled on your server.
+For this module to work reliably, you must have [mod_smacks],
+[mod_mam] and [mod_carbons] also enabled on your server.
Some clients, notably Siskin and Snikket iOS need some additional
extensions that are not currently defined in a standard XEP. To support
-these clients, see \[mod_cloud_notify_extensions\].
+these clients, see [mod_cloud_notify_extensions].
# Configuration
@@ -58,18 +64,18 @@ these clients, see \[mod_cloud_notify_ex
# Internal design notes
App servers are notified about offline messages, messages stored by
-\[mod_mam\] or messages waiting in the smacks queue. The business rules
+[mod_mam] or messages waiting in the smacks queue. The business rules
outlined
[here](//mail.jabber.org/pipermail/standards/2016-February/030925.html)
are all honored[^2].
-To cooperate with \[mod_smacks\] this module consumes some events:
+To cooperate with [mod_smacks] this module consumes some events:
`smacks-ack-delayed`, `smacks-hibernation-start` and
`smacks-hibernation-end`. These events allow this module to send out
notifications for messages received while the session is hibernated by
-\[mod_smacks\] or even when smacks acknowledgements for messages are
+[mod_smacks] or even when smacks acknowledgements for messages are
delayed by a certain amount of seconds configurable with the
-\[mod_smacks\] setting `smacks_max_ack_delay`.
+[mod_smacks] setting `smacks_max_ack_delay`.
The `smacks_max_ack_delay` setting allows to send out notifications to
clients which aren't already in smacks hibernation state (because the
| author | Menel <menel@snikket.de> |
|---|---|
| date | Fri, 13 Jun 2025 10:44:37 +0200 |
| parent | 6000:51b6a10b50d2 |
| child | 6305:1c62edeb9147 |
line wrap: on
line source
--- labels: - Stage-Stable summary: Redirect long messages to built-in pastebin --- # Introduction Pastebins are used very often in IM, especially in chat rooms. You have a long log or command output which you need to send to someone over IM, and don't want to fill their message window with it. Put it on a pastebin site, and give them the URL instead, simple. Not for everyone... no matter how hard you try, people will be unaware, or not care. They may also be too lazy to visit a pastebin. This is where mod_pastebin comes in! # Details When someone posts to a room a "large" (the actual limit is configurable) message, Prosody will intercept the message and convert it to a URL pointing to a built-in pastebin server. The URLs are randomly generated, so they can be considered for most purposes to be private, and cannot be discovered by people who are not in the room. # Usage To set up mod_pastebin for MUC rooms it **must** be explicitly loaded, as in the example below - it won't work when loaded globally, as that will only load it onto normal virtual hosts. For example: Component "conference.example.com" "muc" modules_enabled = { "pastebin" } Pastes will be available by default at `http://<your-prosody>:5280/pastebin/` by default. In Prosody 0.9 and later this can be changed with [HTTP settings](https://prosody.im/doc/http). In 0.8 and older this can be changed with `pastebin_ports` (see below), or you can forward another external URL from your web server to Prosody, use `pastebin_url` to set that URL. # Discovery The line and character tresholds are advertised in [service discovery][xep-0030] like this: ``` {.xml} <iq id="791d37e8-86d8-45df-adc2-9bcb17c45cb7" type="result" xml:lang="en" from="prosody@conference.prosody.im"> <query xmlns="http://jabber.org/protocol/disco#info"> <identity type="text" name="Prosŏdy IM Chatroom" category="conference"/> <feature var="http://jabber.org/protocol/muc"/> <feature var="https://modules.prosody.im/mod_pastebin"/> <x xmlns="jabber:x:data" type="result"> <field type="hidden" var="FORM_TYPE"> <value>http://jabber.org/protocol/muc#roominfo</value> </field> <field label="Title" type="text-single" var="muc#roomconfig_roomname"> <value>Prosŏdy IM Chatroom</value> </field> <!-- etc... --> <field type="text-single" var="{https://modules.prosody.im/mod_pastebin}max_lines"> <value>12</value> </field> <field type="text-single" var="{https://modules.prosody.im/mod_pastebin}max_characters"> <value>1584</value> </field> </x> </query> </iq> ``` # Configuration Option Description ------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- pastebin_threshold Maximum length (in characters) of a message that is allowed to skip the pastebin. (default 500 characters) pastebin_line_threshold The maximum number of lines a message may have before it is sent to the pastebin. (default 4 lines) pastebin_trigger A string of characters (e.g. "!paste ") which if detected at the start of a message, always sends the message to the pastebin, regardless of length. (default: not set) pastebin_expire_after Number of hours after which to expire (remove) a paste, defaults to 24. Set to 0 to store pastes permanently on disk. pastebin_ports List of ports to run the HTTP server on, same format as mod_httpserver's http_ports[^1] pastebin_url Base URL to display for pastebin links, must end with / and redirect to Prosody's built-in HTTP server[^2] # Compatibility ------ ------- trunk Works 0.12 Works 0.11 Works 0.10 Works 0.9 Works 0.8 Works ------ ------- # Todo - Maximum paste length - Web interface to submit pastes? [^1]: As of Prosody 0.9, `pastebin_ports` is replaced by `http_ports`, see [Prosody HTTP server documentation](https://prosody.im/doc/http) [^2]: See also [http_external_url](https://prosody.im/doc/http#external_url)