An open API service indexing awesome lists of open source software.

https://github.com/bemwamalak/mod_message_status

An ejabberd module for tracking message read and delivery status.
https://github.com/bemwamalak/mod_message_status

ejabberd erlang

Last synced: 4 months ago
JSON representation

An ejabberd module for tracking message read and delivery status.

Awesome Lists containing this project

README

          

# mod_message_status

An ejabberd module for tracking message read and delivery status.

## Overview

This module provides functionality to track and manage message read and delivery status in ejabberd XMPP server. It supports both SQL and Mnesia backends for storing message status information.

## Features

- Track message read status
- Track message delivery status
- Query message status
- Support for both SQL and Mnesia backends
- IQ-based status updates and queries
- Timestamp tracking for all status changes

## Requirements

- ejabberd >= 21.0
- Erlang/OTP

## Installation

### Docker Installation (Recommended)
1. Create modules source directory in your ejabberd container:
```bash
mkdir -p .ejabberd-modules/sources
```

2. Copy the module source to the container:
```bash
cp -r mod_message_status .ejabberd-modules/sources/
```

3. Check and install the module using ejabberdctl:
```bash
ejabberdctl module_check mod_message_status
ejabberdctl module_install mod_message_status
```

4. Add the module configuration to your ejabberd.yml:
```yaml
modules:
mod_message_status:
backend: sql # or mnesia
use_cache: true
cache_size: 1000
cache_life_time: 3600
```

5. Restart your ejabberd container to apply changes:
```bash
docker restart your-ejabberd-container
```

## Configuration

Add the following to your `ejabberd.yml` configuration file:

```yaml
modules:
mod_message_status:
backend: sql # or 'mnesia'
use_cache: true
cache_size: 1000
cache_life_time: 3600
```

## Usage

### Marking Messages as Read
```xml


```

### Marking Messages as Delivered
```xml


```

### Querying Message Status
```xml


```

## License

This project is licensed under the MIT License - see the [COPYING](COPYING) file for details.

## Author

Bemwa Malak

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.