xmpp_stone

Creator: coderz1093

Last updated:

Add to Cart

Description:

xmpp stone

XmppStone #
Lightweight XMPP client library written completely in Dart.
My intention is to write simple to use library for future XMPP client based on Flutter.
Supported documents:

RFC6120: Extensible Messaging and Presence Protocol (XMPP): Core
RFC6121: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence
XEP-0198: Stream Management
XEP-0085: Chat State Notifications
XEP-0318: Best Practices for Client Initiated Presence Probes
XEP-0280: Message Carbons

Partly supported:

XEP-0030: Service Discovery
XEP-0313: Message Archive Management

Actively working on:

XEP-0059: Result Set Management
XEP-0004: Data Forms

Latest news #

2020-10-30: Added support for XEP-0280: Message Carbons
2020-10-30: Added initial support for XEP-0313: Message Archive Management
2020-10-30: Added logging mechanism
2020-07-23: Added support for XEP-0318: Best Practices for Client Initiated Presence Probes
2020-05-02: Added initial support for XEP-0198 : Stream Management
2020-05-02: Added initial support for XEP-0085 : Chat State Notifications
2019-04-02: added support for: XEP-0054: vcard-temp
2019-04-01: added support for SHA-1 and SHA-256 authentication algorithm

Usage #
import 'package:xmpp_stone/xmpp_stone.dart' as xmpp;

main() {
xmpp.Connection connection = new xmpp.Connection("user@domain", "password", 5222);
connection.open();
}
copied to clipboard
Features #
1. Logging
Log level
Client can set logging level of the library with command:
Log.logLevel = LogLevel.VERBOSE;
copied to clipboard
XMPP traffic logging
Xmpp traffic can be enabled or disabled with:
Log.logXmpp = false
copied to clipboard
2. Message Archive Management
Feature is work in progress, API is subject to change.
Initial implementation of Message Archive Management.
RST is not yet implemented.
Usage:

Grabbing the module

connection.getMamModule()
copied to clipboard

Querying all messages:

mamManager.queryAll();
copied to clipboard

Querying messages based on date (All parameters are optional):

mamManager.queryByTime(start: startTime, end: endTime, jid: buddyJid);
copied to clipboard

Querying messages based on messageId (All parameters are optional):
This method requires urn:xmpp:mam:2#extended to be supported by the serve, soon it will be available to check feature support.

mamManager.queryById(beforeId: beforeId, afterId: afterId, jid: buddyJid});
copied to clipboard
Checking capabilities of the server:
mamManager.isQueryByDateSupported
mamManager.isQueryByIdSupported
mamManager.isQueryByJidSupported
copied to clipboard

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files:

Customer Reviews

There are no reviews.