Files
simplex-chat/packages/simplex-chat-client/typescript
JRoberts fa9e0086f6 core: multiple users api (#1679)
* api

* UCR

* Revert "UCR"

This reverts commit 1f98d25192.

* comment

* events User

* events in api User

* CRActiveUser in APISetActiveUser

* process message with/without connection

* refactor

* mute error

* user in api responses

* name

* lost response

* user in CRChatCmdError

* compiles

* user in CRChatError

* -- UserId

* mute unused warning

* catch in withUser

* remove comment

Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
2023-01-04 21:06:28 +04:00
..
2023-01-04 21:06:28 +04:00
2022-11-17 14:46:49 +00:00
2022-09-12 18:33:34 +01:00

SimpleX Chat JavaScript client

This is a TypeScript library that defines WebSocket API client for SimpleX Chat terminal CLI that should be run as a WebSockets server on any port:

simplex-chat -p 5225

Client API provides types and functions to:

  • create and change user profile (although, in most cases you can do it manually, via SimpleX Chat terminal app).
  • create and accept invitations or connect with the contacts.
  • create and manage long-term user address, accepting connection requests automatically.
  • create, join and manage group.
  • send and receive files.

Use cases

  • chat bots: you can implement any logic of connecting with and communicating with SimpleX Chat users. Using chat groups a chat bot can connect SimleX Chat users with each other.
  • control of the equipment: e.g. servers or home automation. SimpleX Chat provides secure and authorised connections, so this is more secure than using rest APIs.

Please share your use cases and implementations.

Quick start

npm i simplex-chat
npm run build

See the example of a simple chat bot in squaring-bot.js:

  • start simplex-chat as a server on port 5225: simplex-chat -p 5225 -d test_db
  • run chatbot: node examples/squaring-bot
  • connect to chatbot via SimpleX Chat client using the address of the chat bot

Documentation

Please refer to the available client API in client.ts.

License

AGPL v3