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.
- Host: GitHub
- URL: https://github.com/bemwamalak/mod_message_status
- Owner: BemwaMalak
- License: mit
- Created: 2024-12-17T08:36:58.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-19T18:17:43.000Z (over 1 year ago)
- Last Synced: 2025-02-13T02:36:14.825Z (over 1 year ago)
- Topics: ejabberd, erlang
- Language: Erlang
- Homepage:
- Size: 11.7 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
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.