Skip to content

Latest commit

 

History

484 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
  • iOS

In the future we want to provide native binary version for other targets.

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 as new issue on GitHub or, if you have valid support subscription, open new 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

Topics

Resources

Stars

75 stars

Watchers

10 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages