You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

@slack/rtm-api

Package Overview
Dependencies
Maintainers
10
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@slack/rtm-api - npm Package Compare versions

Comparing version

to
6.1.0

2

dist/errors.d.ts

@@ -22,3 +22,3 @@ /// <reference types="node" />

}
export declare type RTMCallError = RTMPlatformError | RTMWebsocketError | RTMNoReplyReceivedError | RTMSendWhileDisconnectedError | RTMSendWhileNotReadyError;
export type RTMCallError = RTMPlatformError | RTMWebsocketError | RTMNoReplyReceivedError | RTMSendWhileDisconnectedError | RTMSendWhileNotReadyError;
export interface RTMPlatformError extends CodedError {

@@ -25,0 +25,0 @@ code: ErrorCode.SendMessagePlatformError;

@@ -26,3 +26,3 @@ "use strict";

// Logging
this.logger = logger_1.getLogger(KeepAlive.loggerName, logLevel, logger);
this.logger = (0, logger_1.getLogger)(KeepAlive.loggerName, logLevel, logger);
}

@@ -57,4 +57,6 @@ /**

}
this.lastPing = this.client = undefined;
this.recommendReconnect = this.isMonitoring = false;
this.lastPing = undefined;
this.client = undefined;
this.recommendReconnect = false;
this.isMonitoring = false;
}

@@ -61,0 +63,0 @@ /**

@@ -146,4 +146,4 @@ /// <reference types="node" />

*/
addOutgoingEvent(awaitReply: true, type: string, body?: {}): Promise<RTMCallResult>;
addOutgoingEvent(awaitReply: false, type: string, body?: {}): Promise<void>;
addOutgoingEvent(awaitReply: true, type: string, body?: Record<string, unknown>): Promise<RTMCallResult>;
addOutgoingEvent(awaitReply: false, type: string, body?: Record<string, unknown>): Promise<void>;
/**

@@ -199,3 +199,3 @@ * Generic method for sending an outgoing message of an arbitrary type. The main difference between this method and

}
export declare type RTMStartOptions = RTMConnectArguments | RTMStartArguments;
export type RTMStartOptions = RTMConnectArguments | RTMStartArguments;
//# sourceMappingURL=RTMClient.d.ts.map

@@ -8,6 +8,6 @@ "use strict";

const eventemitter3_1 = require("eventemitter3");
const ws_1 = __importDefault(require("ws")); // tslint:disable-line:import-name
const finity_1 = __importDefault(require("finity")); // tslint:disable-line:import-name
const p_queue_1 = __importDefault(require("p-queue")); // tslint:disable-line:import-name
const p_cancelable_1 = __importDefault(require("p-cancelable")); // tslint:disable-line:import-name
const ws_1 = __importDefault(require("ws"));
const finity_1 = __importDefault(require("finity"));
const p_queue_1 = __importDefault(require("p-queue"));
const p_cancelable_1 = __importDefault(require("p-cancelable"));
const web_api_1 = require("@slack/web-api");

@@ -17,3 +17,16 @@ const KeepAlive_1 = require("./KeepAlive");

const errors_1 = require("./errors");
const packageJson = require('../package.json'); // tslint:disable-line:no-require-imports no-var-requires
const packageJson = require('../package.json'); // eslint-disable-line import/no-commonjs, @typescript-eslint/no-var-requires
/*
* Helpers
*/
// NOTE: there may be a better way to add metadata to an error about being "unrecoverable" than to keep an
// independent enum, probably a Set (this isn't used as a type).
var UnrecoverableRTMStartError;
(function (UnrecoverableRTMStartError) {
UnrecoverableRTMStartError["NotAuthed"] = "not_authed";
UnrecoverableRTMStartError["InvalidAuth"] = "invalid_auth";
UnrecoverableRTMStartError["AccountInactive"] = "account_inactive";
UnrecoverableRTMStartError["UserRemovedFromTeam"] = "user_removed_from_team";
UnrecoverableRTMStartError["TeamDisabled"] = "team_disabled";
})(UnrecoverableRTMStartError || (UnrecoverableRTMStartError = {}));
/**

@@ -46,2 +59,3 @@ * An RTMClient allows programs to communicate with the {@link https://api.slack.com/rtm|Slack Platform's RTM API}.

.configure()
/* eslint-disable @typescript-eslint/indent, newline-per-chained-call */
.initialState('disconnected')

@@ -55,3 +69,3 @@ .on('start').transitionTo('connecting')

// for a reply from the server should be canceled
this.awaitingReplyList.forEach(p => p.cancel());
this.awaitingReplyList.forEach((p) => { p.cancel(); });
})

@@ -140,3 +154,3 @@ .state('connecting')

// them know that there are none expected to arrive.
this.awaitingReplyList.forEach(p => p.cancel());
this.awaitingReplyList.forEach((p) => { p.cancel(); });
})

@@ -170,3 +184,4 @@ .state('ready')

// clear data that is now stale
this.activeUserId = this.activeTeamId = undefined;
this.activeUserId = undefined;
this.activeTeamId = undefined;
this.keepAlive.stop();

@@ -256,3 +271,3 @@ this.outgoingEventQueue.pause();

// Logging
this.logger = logger_1.getLogger(RTMClient.loggerName, logLevel, logger);
this.logger = (0, logger_1.getLogger)(RTMClient.loggerName, logLevel, logger);
this.stateMachine = finity_1.default.start(this.stateMachineConfig);

@@ -329,2 +344,5 @@ this.logger.debug('initialized');

const replyPromise = new p_cancelable_1.default((resolve, reject, onCancel) => {
// We only want the event handler to resolve the Promise in the case the message IDs match
// therefore disable consistent-return
// eslint-disable-next-line consistent-return
const eventHandler = (_type, event) => {

@@ -334,6 +352,6 @@ if (event.reply_to === messageId) {

if (event.error !== undefined) {
const error = errors_1.platformErrorFromEvent(event);
const error = (0, errors_1.platformErrorFromEvent)(event);
return reject(error);
}
resolve(event);
return resolve(event);
}

@@ -343,3 +361,3 @@ };

this.off('slack_event', eventHandler);
reject(errors_1.noReplyReceivedError());
reject((0, errors_1.noReplyReceivedError)());
});

@@ -370,6 +388,3 @@ this.on('slack_event', eventHandler);

send(type, body = {}) {
const message = Object.assign({}, body, {
type,
id: this.nextMessageId(),
});
const message = Object.assign(Object.assign({}, body), { type, id: this.nextMessageId() });
return new Promise((resolve, reject) => {

@@ -379,3 +394,3 @@ this.logger.debug(`send() in state: ${this.stateMachine.getStateHierarchy()}`);

this.logger.error('cannot send message when client is not connected');
reject(errors_1.sendWhileDisconnectedError());
reject((0, errors_1.sendWhileDisconnectedError)());
}

@@ -385,3 +400,3 @@ else if (!(this.stateMachine.getCurrentState() === 'connected' &&

this.logger.error('cannot send message when client is not ready');
reject(errors_1.sendWhileNotReadyError());
reject((0, errors_1.sendWhileNotReadyError)());
}

@@ -396,5 +411,5 @@ else {

this.logger.error(`failed to send message on websocket: ${error.message}`);
return reject(errors_1.websocketErrorWithOriginal(error));
return reject((0, errors_1.websocketErrorWithOriginal)(error));
}
resolve(message.id);
return resolve(message.id);
});

@@ -416,5 +431,3 @@ }

// initialize the websocket
const options = Object.assign({
perMessageDeflate: false,
}, this.tlsConfig);
const options = Object.assign({ perMessageDeflate: false }, this.tlsConfig);
if (this.agentConfig !== undefined) {

@@ -425,7 +438,7 @@ options.agent = this.agentConfig;

// attach event listeners
this.websocket.addEventListener('open', event => this.stateMachine.handle('websocket open', event));
this.websocket.addEventListener('close', event => this.stateMachine.handle('websocket close', event));
this.websocket.addEventListener('open', (event) => this.stateMachine.handle('websocket open', event));
this.websocket.addEventListener('close', (event) => this.stateMachine.handle('websocket close', event));
this.websocket.addEventListener('error', (event) => {
this.logger.error(`A websocket error occurred: ${event.message}`);
this.emit('error', errors_1.websocketErrorWithOriginal(event.error));
this.emit('error', (0, errors_1.websocketErrorWithOriginal)(event.error));
});

@@ -491,17 +504,4 @@ this.websocket.addEventListener('message', this.onWebsocketMessage.bind(this));

/* Instrumentation */
web_api_1.addAppMetadata({ name: packageJson.name, version: packageJson.version });
(0, web_api_1.addAppMetadata)({ name: packageJson.name, version: packageJson.version });
exports.default = RTMClient;
/*
* Helpers
*/
// NOTE: there may be a better way to add metadata to an error about being "unrecoverable" than to keep an
// independent enum, probably a Set (this isn't used as a type).
var UnrecoverableRTMStartError;
(function (UnrecoverableRTMStartError) {
UnrecoverableRTMStartError["NotAuthed"] = "not_authed";
UnrecoverableRTMStartError["InvalidAuth"] = "invalid_auth";
UnrecoverableRTMStartError["AccountInactive"] = "account_inactive";
UnrecoverableRTMStartError["UserRemovedFromTeam"] = "user_removed_from_team";
UnrecoverableRTMStartError["TeamDisabled"] = "team_disabled";
})(UnrecoverableRTMStartError || (UnrecoverableRTMStartError = {}));
//# sourceMappingURL=RTMClient.js.map
{
"name": "@slack/rtm-api",
"version": "6.0.0",
"version": "6.1.0",
"description": "Official library for using the Slack Platform's Real Time Messaging API",
"author": "Slack Technologies, Inc.",
"author": "Slack Technologies, LLC",
"license": "MIT",

@@ -40,4 +40,4 @@ "keywords": [

"build:clean": "shx rm -rf ./dist",
"lint": "tslint --project .",
"test": "npm run build && echo \"Tests are not implemented.\" && exit 0",
"lint": "eslint --ext .ts src",
"test": "npm run lint && npm run build && echo \"Tests are not implemented.\" && exit 0",
"ref-docs:model": "api-extractor run"

@@ -50,3 +50,3 @@ },

"@types/p-queue": "^2.3.2",
"@types/ws": "^7.2.5",
"@types/ws": "^7.4.7",
"eventemitter3": "^3.1.0",

@@ -56,11 +56,17 @@ "finity": "^0.5.4",

"p-queue": "^2.4.2",
"ws": "^5.2.0"
"ws": "^7.5.3"
},
"devDependencies": {
"@microsoft/api-extractor": "^7.3.4",
"@typescript-eslint/eslint-plugin": "^4.4.1",
"@typescript-eslint/parser": "^4.4.0",
"eslint": "^7.32.0",
"eslint-config-airbnb-base": "^14.2.1",
"eslint-config-airbnb-typescript": "^12.3.1",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-jsdoc": "^30.6.1",
"eslint-plugin-node": "^11.1.0",
"shx": "^0.3.2",
"tslint": "^5.13.1",
"tslint-config-airbnb": "^5.11.1",
"typescript": "^4.1.0"
}
}
# Slack Real Time Messaging API
[![build-ci](https://github.com/slackapi/node-slack-sdk/workflows/CI%20Build/badge.svg)](https://github.com/slackapi/node-slack-sdk/actions?query=workflow%3A%22CI+Build%22)
<!-- TODO: per-flag badge https://docs.codecov.io/docs/flags#section-flag-badges-and-graphs -->
[![codecov](https://codecov.io/gh/slackapi/node-slack-sdk/branch/master/graph/badge.svg)](https://codecov.io/gh/slackapi/node-slack-sdk)
<!-- TODO: npm versions with scoped packages: https://github.com/rvagg/nodei.co/issues/24 -->
The `@slack/rtm-api` package contains a simple, convenient, and configurable client for receiving events and sending simple messages to Slack's [Real Time Messaging API](https://api.slack.com/rtm). Use it in your

@@ -438,3 +433,3 @@ app to stay connected to the Slack platform over a persistent Websocket connection.

This package supports Node v8 LTS and higher. It's highly recommended to use [the latest LTS version of
This package supports Node v14 and higher. It's highly recommended to use [the latest LTS version of
node](https://github.com/nodejs/Release#release-schedule), and the documentation is written using syntax and features

@@ -441,0 +436,0 @@ from that version.

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet