Projects tigase _libraries halcyon Files
.onedev-buildspec.yml Loading last commit info...
.github
docs
frameworks
gradle/wrapper
halcyon-bouncycastle
halcyon-core
halcyon-coroutines
halcyon-rx
integration-tests
.gitignore
.readthedocs.yaml
CHANGES.rst
COPYING
License.html
README.md
build.gradle.kts
deps.versions.toml
gradle.properties
gradlew
gradlew.bat
halcyon.doap
settings.gradle.kts
README.md

NOTE: Tigase Halcyon has new home at tigase.dev/tigase/_libraries/halcyon - please submit all issues/pull-requests there!

Halcyon

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.

Please wait...
Page is in error, reload to recover