パッケージ、リポジトリ、アプリカテゴリを検索

GitHub リポジトリvukoye/xmpp_dart

xmpp_dart

Dartで書かれた軽量なXMPPクライアントライブラリ

xmpp_dart のプロジェクト画像
スター
84
フォーク
67
最終プッシュ(UTC)
2024/09/16
プロジェクト状態
公開中

元の README

以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。

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();
}

Features

1. Logging
Log level

Client can set logging level of the library with command:

Log.logLevel = LogLevel.VERBOSE;
XMPP traffic logging

Xmpp traffic can be enabled or disabled with:

Log.logXmpp = false
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()
  • Querying all messages:
mamManager.queryAll();
  • Querying messages based on date (All parameters are optional):
mamManager.queryByTime(start: startTime, end: endTime, jid: buddyJid);
  • 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});

Checking capabilities of the server:

mamManager.isQueryByDateSupported
mamManager.isQueryByIdSupported
mamManager.isQueryByJidSupported
Nemanja Vukoje GitHub avatar
GitHub 作者

Nemanja Vukoje ↗

言語Dart

このリポジトリが公開するパッケージ

使用している依存関係

依存関係一覧 12 件

プロジェクトに合うリポジトリを選ぶには?

用途で絞り込み、開発状況を比較し、採用前に元のリポジトリで要件を確認しましょう。

  1. 名前・作者・説明で検索し、技術トピックで絞り込みます。
  2. スター、フォーク、最近のプッシュを比較します。スターは関心の目安であり、品質の保証ではありません。
  3. 利用前に GitHub で README、ライセンス、Issues を確認します。

情報源と管理

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗