pschichtel / Kognigy

Simple Cognigy client based on websockets using ktor.

Home Page:https://schich.tel

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kognigy

Simple Cognigy client based on websockets using ktor, kotlinx.coroutines and kotlinx.serialization.

Specifically it is a client for the Socket (Socket.io) endpoint.

The library implements enough of the socket.io protocol and Cognigy's protocol on top, so that most agent interactions should work without any issues.

Limitations of this Implementation

  • The engine.io and socket.io protocol layers only support the WebSockets transport.
  • No automatic reconnection mechanism exists.
  • While the Cognigy protocol is fairly simple, there is very little documentation on it and significant parts of the implementation are based on reverse engineering of the official webchat module and SocketClient library.
  • Since Cognigy does not use any Binary frames, binary packet support in engine.io and socket.io have not been implemented.
  • While all runtime dependencies are intentionally multiplatform capable, no attempt as been made to compile this project with Kotlin/JS or Kotlin/Native (Pull Requests welcome!). The same goes for Android support.

About

Simple Cognigy client based on websockets using ktor.

https://schich.tel

License:MIT License


Languages

Language:Kotlin 100.0%