Skip to content

Kotlin Multiplatform XMPP client library

License

AGPL-3.0, AGPL-3.0 licenses found

Licenses found

AGPL-3.0
License.html
AGPL-3.0
COPYING
Notifications You must be signed in to change notification settings

ConnectyCube/halcyon

 
 

Repository files navigation

Halcyon

⚠️ THIS SOFTWARE IS NOT FINISHED YET: This library is under active development. We cannot ensure API stability.

You can use it at your own risk.

TC build CI Status

What it is

Halcyon is an XMPP client library written in a Kotlin programming language. It provides implementation of core of the XMPP standard and processing XML. Additionally it provides support for many popular extensions (XEP's).

Library using Kotlin Multiplatform feature to provide XMPP library for as many platforms as possible. Currently we are focused on

  • JVM
  • JavaScript
  • Android

In the future we want to provide native binary version.

This repository contains source files of the library.

Features

Halcyon implements support for RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core and RFC 6121: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence.

Halcyon is under active development, so list of features is changing very often.

Quickstart

Simplest client

Here is example of simplest client sending single message.

val halcyon = createHalcyon {
    auth {
        userJID = "client@tigase.net".toBareJID()
        password { "secret" }
    }
}
halcyon.connectAndWait()

halcyon.request.message {
    to = "romeo@example.net".toJID()
    "body" {
        +"Art thou not Romeo, and a Montague?"
    }
}.send()

halcyon.disconnect()

Code snippets

There is a set of small examples of Halcyon library usage. You can find them in codeSnippets project.

Support

When looking for support, please first search for answers to your question in the available online channels:

If you didn't find an answer in the resources above, feel free to submit your question to either our community portal or open a support ticket.

Compilation

Gradle Build Tool is required tool to compile library:

./gradlew assemble

Jar file will be stored in ./build/libs/, JavaScript files - in ./build/js/.

License

Tigase Tigase Logo Official Tigase repository is available at: https://github.com/tigase/halcyon/.

Copyright (c) 2004 Tigase, Inc.

Licensed under AGPL License Version 3. Other licensing options available upon request.

About

Kotlin Multiplatform XMPP client library

Resources

License

AGPL-3.0, AGPL-3.0 licenses found

Licenses found

AGPL-3.0
License.html
AGPL-3.0
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 100.0%