Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

strophejs-plugin-mam

Package Overview
Dependencies
Maintainers
4
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

strophejs-plugin-mam

A strophe.js plugin for Message Archive Management (XEP-0313)

  • 0.0.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
4
Created
Source

strophe.mam.js

Plugin for strophe.js to provide Message Archiving Management (XEP-0313).

This plugin requires the Strophe.RSM plugin to be loaded as well.

Install

npm install strophejs-plugin-mam

Usage

Querying an archive

connection.mam.query(where, parameters)

where is the JID hosting the archive. In most cases you will want to set this to your own bare JID in order query your personal archive, but it could also be a MUC room, an archiving component or a bot.

parameters is an object containing parameters for the query. This can have properties from two and a half categories:

Handlers: onMessage which gets called for each message received, and onComplete which is called when the query is completed.

Filtering: Half of this is the parameters defined by MAM; with, start or end, which allow you to filter the results on who the conversation was with, and the time range.

Additionally, parameters from Result Set Management can be supplied. You would probably be most interested in the after and before properties, which allow you to do pagination of the result set, and the max property, which allow you to limit the number of items in each page. Note: Better RSM integration is on the TODO, you currently have to pick out the last or first items yourself and pass those as after or before respectively.

Example

To query, for example, your personal archive for conversations with juliet@capulet.com you could do:

connection.mam.query("you@example.com", {
  "with": "juliet@capulet.com",
  onMessage: function(message) {
			console.log("Message from ", $(message).find("forwarded message").attr("from"),
				": ", $(message).find("forwarded message body").text());
			return true;
  },
  onComplete: function(response) {
			console.log("Got all the messages");
  }
	});

Keywords

FAQs

Package last updated on 14 Jul 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc