The WebsocketClient
inherits from EventEmitter
. After establishing a
connection, the client sends heartbeats in regular intervalls, and reconnects
to the server once connection has been lost.
-
options
{Object} Configuration optionskey
{String} Bybit API Key. Only needed if private topics are subscribedsecret
{String} Bybit private Key. Only needed if private topics are subscribedlivenet
{Bool} Weather to connect to livenet (true
). Defaultfalse
.pingInterval
{Integer} Interval in ms for heartbeat ping. Default:10000
,pongTimeout
{Integer} Timeout in ms waiting for heartbeat pong response from server. Default:1000
,reconnectTimeout
{Integer} Timeout in ms the client waits before trying to reconnect after a lost connection. Default: 500
-
logger
{Object} Optional custom loggerCustom logger must contain the following methods:
const logger = { silly: function(message, data) {}, debug: function(message, data) {}, notice: function(message, data) {}, info: function(message, data) {}, warning: function(message, data) {}, error: function(message, data) {}, }
topics
{String|Array} Single topic as string or multiple topics as array of strings. Subscribe to one or multiple topics. See available topics
topics
{String|Array} Single topic as string or multiple topics as array of strings. Unsubscribe from one or multiple topics.
Close the connection to the server.
Emmited when the connection has been opened for the first time.
Emmited when the client has been opened after a reconnect.
message
{Object}
Emmited whenever an update to a subscribed topic occurs.
response
{Object}success
{Bool}ret_msg
{String} empty if operation was successfull, otherwise error message.conn_id
{String} connection idrequest
{Object} Original request, to which the response belongsop
{String} operationargs
{Array} Request Arguments
Emited when the server responds to an operation sent by the client (usually after subscribing to a topic).
Emitted when the connection has been finally closed, after a call to ws.close()
Emitted when the connection has been closed, but the client will try to reconnect.
error
{Error}
Emitted when an error occurs.
Generaly all public and private topics are available.
All positions of your account.
Topic: position
Execution message, whenever an order has been (partially) filled.
Topic: execution
Updates for your active orders
Topic: order
Updates for your active conditional orders
Topic: stop_order
Candlestick OHLC "candles" for selected symbol and interval.
Example topic: klineV2.BTCUSD.1m
All trades as they occur.
Topic: trade
Topic: insurance
OrderBook for selected symbol
Example topic: orderBookL2_25.BTCUSD
OrderBook for selected symbol
Example topic: orderBook_200.100ms.BTCUS
Latest information for selected symbol
Example topic: instrument_info.100ms.BTCUSD
const {WebsocketClient} = require('@pxtrn/bybit-api');
const API_KEY = 'xxx';
const PRIVATE_KEY = 'yyy';
const ws = new WebsocketClient({key: API_KEY, secret: PRIVATE_KEY});
ws.subscribe(['position', 'execution', 'trade']);
ws.subscribe('kline.BTCUSD.1m');
ws.on('open', function() {
console.log('connection open');
});
ws.on('update', function(message) {
console.log('update', message);
});
ws.on('response', function(response) {
console.log('response', response);
});
ws.on('close', function() {
console.log('connection closed');
});
ws.on('error', function(err) {
console.error('ERR', err);
});