File

mod_muc_markers/README.md @ 6113:c0cb43817b7c

mod_compliance_latest: using module:log_status diff --git a/mod_compliance_latest/mod_compliance_latest.lua b/mod_compliance_latest/mod_compliance_latest.lua --- a/mod_compliance_latest/mod_compliance_latest.lua +++ b/mod_compliance_latest/mod_compliance_latest.lua @@ -1,6 +1,6 @@ local success, err = pcall(function() module:depends("compliance_2023") end) if not success then - module:log("error", "Error, can't load module: mod_compliance_2023. Is this module downloaded in a folder readable by prosody?") - return 1, "Error: Couldn't load dependency mod_compliance_2023." +module:log_status( "error", "Error, can't load module: mod_compliance_2023. Is this module downloaded into a folder readable by prosody?" ) +return false end
author Menel <menel@snikket.de>
date Mon, 23 Dec 2024 14:09:56 +0100 (2 months ago)
parent 6003:fe081789f7b5
line wrap: on
line source
# Introduction

This module adds an internal Prosody API to retrieve the last displayed message by MUC occupants.

## Requirements

The clients must support XEP-0333, and the users to be tracked must be affiliated with the room.

Currently due to lack of clarity about which id to use in acknowledgements in XEP-0333, this module
rewrites the id attribute of stanzas to match the stanza (archive) id assigned by the MUC server.

Oh yeah, and mod_muc_mam is required (or another module that adds a stanza-id), otherwise this module
won't do anything.

# Configuring

## Enabling

``` {.lua}
Component "rooms.example.net" "muc"
modules_enabled = {
    "muc_markers";
    "muc_mam";
}
```

## Settings

| Name                       | Description                                                                          | Default     |
|----------------------------|--------------------------------------------------------------------------------------|-------------|
| muc_marker_summary_on_join | Whether a summary of all the latest markers should be sent to someone entering a MUC | true        |
| muc_marker_type            | The type of marker to track (displayed/received/acknowledged)                        | "displayed" |


# Developers

## Example usage

```
local muc_markers = module:depends("muc_markers");

function something()
	local last_displayed_id = muc_markers.get_user_read_marker("user@localhost", "room@conference.localhost");
end
```