UNPKG

intelligo

Version:

AI Chatbot Framework for Node.js

212 lines (211 loc) 5.34 kB
import { EventEmitter } from 'eventemitter3'; export declare class SlackBot extends EventEmitter { token: any; name: any; disconnect: any; wsUrl: any; self: any; team: any; channels: any; users: any; ims: any; groups: any; ws: any; /** * @param {object} params * @constructor */ constructor(params: any); /** * Starts a Real Time Messaging API session */ login(): void; /** * Establish a WebSocket connection */ connect(): void; /** * Get channels * @returns Promise */ getChannels(): Promise<unknown>; /** * Get users */ getUsers(): Promise<unknown>; /** * Get groups */ getGroups(): Promise<unknown>; /** * Get user by name * @param name * @returns */ getUser(name: string): Promise<any>; /** * Get channel by name * @param name * @returns {object} */ getChannel(name: string): Promise<any>; /** * Get group by name * @param name * @returns {object} */ getGroup(name: string): Promise<any>; /** * Get user by id * @param id * @returns {object} */ getUserById(id: string): Promise<any>; /** * Get channel by id * @param id * @returns {object} */ getChannelById(id: string): Promise<any>; /** * Get group by id * @param id * @returns {object} */ getGroupById(id: string): Promise<any>; /** * Get channel ID * @param name * @returns */ getChannelId(name: string): Promise<any>; /** * Get group ID * @param name * @returns */ getGroupId(name: string): Promise<any>; /** * Get user ID * @param name * @returns */ getUserId(name: string): Promise<any>; /** * Get user by email * @param email * @returns {object} */ getUserByEmail(email: string): Promise<any>; /** * Get "direct message" channel ID * @param name * @returns {vow.Promise} */ getChatId(name: string): any; /** * Opens a "direct message" channel with another member of your Slack team * @param userId * @returns {vow.Promise} */ openIm(userId: string): Promise<unknown>; /** * Get a list of all im channels * @returns {vow.Promise} */ getImChannels(): Promise<unknown>; /** * Posts an ephemeral message to a channel and user * @param id - channel ID * @param user - user ID * @param text * @param {object} params * @returns {vow.Promise} */ postEphemeral(id: string, user: string, text: string, params: any): Promise<unknown>; /** * Posts a message to a channel by ID * @param id - channel ID * @param text * @param {object} params * @returns {vow.Promise} */ postMessage(id: string, text: string, params: any): Promise<unknown>; /** * Updates a message by timestamp * @param id - channel ID * @param ts - timestamp * @param text * @param {object} params * @returns {vow.Promise} */ updateMessage(id: string, ts: string, text: string, params: any): Promise<unknown>; /** * Posts a message to user by name * @param name * @param text * @param {object} params * @param {function} cb * @returns {vow.Promise} */ postMessageToUser(name: string, text: string, params: any, cb: any): any; /** * Posts a message to channel by name * @param name * @param text * @param {object} params * @param {function} cb * @returns {vow.Promise} */ postMessageToChannel(name: string, text: string, params: any, cb: any): any; /** * Posts a message to group by name * @param name * @param text * @param {object} params * @param {function} cb * @returns {vow.Promise} */ postMessageToGroup(name: string, text: string, params: any, cb: any): any; /** * Common method for posting messages * @param type * @param name * @param text * @param {object} params * @param {function} cb * @returns * @private */ _post(type: string, name: string, text: string, params: any, cb: any): any; /** * Posts a message to group | channel | user * @param name * @param text * @param {object} params * @param {function} cb * @returns {vow.Promise} */ postTo(name: string, text: string, params: any, cb: any): Promise<any>; /** * Remove @ or # character from group | channel | user name * @param name * @returns */ _cleanName(name: string): string; /** * Preprocessing of params * @param params * @returns {object} * @private */ _preprocessParams(params: any): any; /** * Send request to API method * @param methodName * @param {object} params * @returns {vow.Promise} * @private */ api(methodName?: string, params?: any): Promise<unknown>; }