Skip to content
/ halcyon Public

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

tigase/halcyon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 = "[email protected]".toBareJID()
        password { "secret" }
    }
}
halcyon.connectAndWait()

halcyon.request.message {
    to = "[email protected]".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

Sponsor this project

 

Packages

No packages published

Languages