{"id":23298779,"url":"https://github.com/bemwamalak/mod_message_status","last_synced_at":"2026-02-10T20:32:40.845Z","repository":{"id":268928970,"uuid":"904618085","full_name":"BemwaMalak/mod_message_status","owner":"BemwaMalak","description":"An ejabberd module for tracking message read and delivery status.","archived":false,"fork":false,"pushed_at":"2024-12-19T18:17:43.000Z","size":12,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-13T02:36:14.825Z","etag":null,"topics":["ejabberd","erlang"],"latest_commit_sha":null,"homepage":"","language":"Erlang","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BemwaMalak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-17T08:36:58.000Z","updated_at":"2024-12-28T03:15:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"fec46b27-38c4-4a1d-8346-433afb3fe6bd","html_url":"https://github.com/BemwaMalak/mod_message_status","commit_stats":null,"previous_names":["bemwamalak/mod_message_status"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BemwaMalak%2Fmod_message_status","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BemwaMalak%2Fmod_message_status/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BemwaMalak%2Fmod_message_status/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BemwaMalak%2Fmod_message_status/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BemwaMalak","download_url":"https://codeload.github.com/BemwaMalak/mod_message_status/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247546069,"owners_count":20956274,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ejabberd","erlang"],"created_at":"2024-12-20T08:12:35.764Z","updated_at":"2026-02-10T20:32:40.803Z","avatar_url":"https://github.com/BemwaMalak.png","language":"Erlang","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mod_message_status\n\nAn ejabberd module for tracking message read and delivery status.\n\n## Overview\n\nThis 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.\n\n## Features\n\n- Track message read status\n- Track message delivery status\n- Query message status\n- Support for both SQL and Mnesia backends\n- IQ-based status updates and queries\n- Timestamp tracking for all status changes\n\n## Requirements\n\n- ejabberd \u003e= 21.0\n- Erlang/OTP\n\n## Installation\n\n### Docker Installation (Recommended)\n1. Create modules source directory in your ejabberd container:\n   ```bash\n   mkdir -p .ejabberd-modules/sources\n   ```\n\n2. Copy the module source to the container:\n   ```bash\n   cp -r mod_message_status .ejabberd-modules/sources/\n   ```\n\n3. Check and install the module using ejabberdctl:\n   ```bash\n   ejabberdctl module_check mod_message_status\n   ejabberdctl module_install mod_message_status\n   ```\n\n4. Add the module configuration to your ejabberd.yml:\n   ```yaml\n   modules:\n     mod_message_status:\n       backend: sql  # or mnesia\n       use_cache: true\n       cache_size: 1000\n       cache_life_time: 3600\n   ```\n\n5. Restart your ejabberd container to apply changes:\n   ```bash\n   docker restart your-ejabberd-container\n   ```\n\n## Configuration\n\nAdd the following to your `ejabberd.yml` configuration file:\n\n```yaml\nmodules:\n  mod_message_status:\n    backend: sql  # or 'mnesia'\n    use_cache: true\n    cache_size: 1000\n    cache_life_time: 3600\n```\n\n## Usage\n\n### Marking Messages as Read\n```xml\n\u003ciq type='set'\u003e\n  \u003cmark-read xmlns='urn:xmpp:message-status:0' id='msg_id' from='from_user_jid' to='to_user_jid'\u003e\n  \u003c/mark-read\u003e\n\u003c/iq\u003e\n```\n\n### Marking Messages as Delivered\n```xml\n\u003ciq type='set'\u003e\n  \u003cmark-delivered xmlns='urn:xmpp:message-status:0' id='msg_id' from='sender_user_jid' to='to_user_jid'\u003e\n  \u003c/mark-delivered\u003e\n\u003c/iq\u003e\n```\n\n### Querying Message Status\n```xml\n\u003ciq type='get'\u003e\n  \u003cget-status xmlns='urn:xmpp:message-status:0' id='msg_id' jid='sender_user_jid'\u003e\n  \u003c/get-status\u003e\n\u003c/iq\u003e\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [COPYING](COPYING) file for details.\n\n## Author\n\nBemwa Malak \u003cbemwa.malak10@gmail.com\u003e\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbemwamalak%2Fmod_message_status","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbemwamalak%2Fmod_message_status","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbemwamalak%2Fmod_message_status/lists"}