This Botika Socket client library supports web browsers, web workers and Node.js
Javascript Library for interacting with the Botika Socket Client.
If you're using Botika Socket Client on a web page, you can install the library via:
You can use any NPM-compatible package manager, including NPM itself and Yarn.
npm i botika-socket-client
Then:
import Socket from 'botika-socket-client';
Or, if you're not using ES6 modules:
const Socket = require('botika-socket-client');
<script src="https://unpkg.com/botika-socket-client"></script>
We've provided typescript declarations since v1.x.x. Most things should work out of the box but if you need access to specific types you can import them like so:
import Socket from 'botika-socket-client';
import * as SocketTypes from 'botika-socket-client';
var options: SocketTypes.SocketOptions;
...
const baseURL = 'https://socket.example.com';
const auth = { token: 'JWT_TOKEN' };
const socket = new Socket(baseURL, auth);
The default method for subscribing to a channel involves invoking the channel
method of your socket object:
// Options get from https://socket.io/docs/v4/client-options/
const options = {};
const channel = socket.channel('my-channel', options);
This returns a Channel object which events can be bound to.
Event binding takes a very similar form to the way events are handled in socket.io-client. You can use the following methods either on a channel object, to bind to events on a particular channel; or on the socket object, to bind to events on all subscribed channels simultaneously.
Binding to "new-message" on channel: The following logs message data to the console when "new-message" is received
channel.on('new-message', function (data) {
console.log(data.message);
});
Unsubscribe behaviour varies depending on which parameters you provide it with. For example:
// Remove just `handler` for the `new-comment` event
channel.off('new-comment', handler);