0 purchases
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
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.