UNPKG

zcatalyst-integ-cliq

Version:

Node.js SDK for integrating Zoho Catalyst with Zoho Cliq

78 lines (77 loc) 3.34 kB
/// <reference types="node" /> import { Access, Attachment, Chat, Environment, Location, Mention, MessageDetails, User, HTTP_METHOD, CHANNEL_OPERATION, SuggestionObject, BOT_ALERT_OPERATION } from '../common.js'; import HandlerResponse from '../response-objects/handler-response.js'; import VoidResponse from '../response-objects/void-response.js'; import { Message } from '../response-objects/message.js'; interface BotHandlerRequest { user: User; name: string; unique_name: string; environment?: Environment; access?: Access; } interface BotWelcomeHandlerRequest extends BotHandlerRequest { newuser: boolean; } interface BotMessageHandlerRequest extends BotHandlerRequest { attachments: Array<Attachment>; links: Array<string>; message_details: MessageDetails; location: Location; raw_message: string; message: string; mentions: Array<Mention>; chat: Chat; } interface BotContextHandlerRequest extends BotHandlerRequest { chat: Chat; context_id: string; answers: Record<string, SuggestionObject>; attachments: Array<Attachment>; context_summary: Record<string, unknown>; } interface BotMentionHandlerRequest extends BotHandlerRequest { location: Location; chat: Chat; message: string; raw_message: string; message_details: MessageDetails; mentions: Array<Mention>; } interface BotMenuActionHandlerRequest extends BotHandlerRequest { action_name: string; location: Location; chat: Chat; sub_action: string; } interface BotWebHookHandlerRequest extends BotHandlerRequest { headers: Record<string, string>; param: Record<string, string>; body: Record<string, unknown>; http_method: HTTP_METHOD; } interface BotParticipationHandlerRequest extends BotHandlerRequest { operation: CHANNEL_OPERATION; data: Record<string, unknown>; chat: Chat; } interface BotCallHandlerRequest extends BotHandlerRequest { operation: BOT_ALERT_OPERATION; data: Record<string, unknown>; } export default class BotHandler { welcomeHandler(handler: (req: BotWelcomeHandlerRequest, res: Message, ...args: Array<unknown>) => Promise<unknown>): void; messageHandler(handler: (req: BotMessageHandlerRequest, res: HandlerResponse, ...args: Array<unknown>) => Promise<unknown>): void; contextHandler(handler: (req: BotContextHandlerRequest, res: HandlerResponse, ...args: Array<unknown>) => Promise<unknown>): void; mentionHandler(handler: (req: BotMentionHandlerRequest, res: HandlerResponse, ...args: Array<unknown>) => Promise<unknown>): void; menuActionHandler(handler: (req: BotMenuActionHandlerRequest, res: HandlerResponse, ...args: Array<unknown>) => Promise<unknown>): void; webHookHandler(handler: (req: BotWebHookHandlerRequest, res: HandlerResponse, ...args: Array<unknown>) => Promise<unknown>): void; participationHandler(handler: (req: BotParticipationHandlerRequest, res: HandlerResponse, ...args: Array<unknown>) => Promise<unknown>): void; callHandler(handler: (req: BotCallHandlerRequest, res: VoidResponse, ...args: Array<unknown>) => Promise<VoidResponse>): void; newHandlerResponse(): HandlerResponse; newVoidResponse(): VoidResponse; util: { getAttachedFile(attachments: Array<Attachment>): Promise<Array<Buffer | undefined>>; }; } export {};