botbuilder-adapter-tyntec-whatsapp
Version:
A Microsoft Bot Framework adapter for handling connectivity with the WhatsApp channel in tyntec Conversations API.
36 lines (35 loc) • 1.99 kB
TypeScript
import { Activity, BotAdapter, ConversationReference, ResourceResponse, TurnContext, WebRequest, WebResponse } from "botbuilder";
import { AxiosInstance } from "axios";
import { ITyntecAPIEvent, ITyntecMoMessage, ITyntecMoMessagePostback, ITyntecWhatsAppMessageRequest } from "./tyntec/messages";
export interface ITyntecWhatsAppAdapterSettings {
axiosInstance: AxiosInstance;
maxBodySize?: number;
tyntecApikey: string;
}
export declare class TyntecWhatsAppAdapter extends BotAdapter {
axiosInstance: AxiosInstance;
maxBodySize: number;
tyntecApikey: string;
constructor(settings: ITyntecWhatsAppAdapterSettings);
continueConversation(reference: Partial<ConversationReference>, logic: (revocableContext: TurnContext) => Promise<void>): Promise<void>;
deleteActivity(context: TurnContext, reference: Partial<ConversationReference>): Promise<void>;
processActivity(req: WebRequest, res: WebResponse, logic: (context: TurnContext) => Promise<any>): Promise<void>;
sendActivities(context: TurnContext, activities: Partial<Activity>[]): Promise<ResourceResponse[]>;
updateActivity(context: TurnContext, activity: Partial<Activity>): Promise<ResourceResponse | void>;
protected composeTyntecWhatsAppMessageRequest(activity: Partial<Activity>): ITyntecWhatsAppMessageRequest;
protected parseTyntecWhatsAppMessageEvent(req: {
body: ITyntecMoMessage;
headers: any;
params: any;
query: any;
}): Promise<Partial<Activity>>;
protected parseTyntecWebhookRequest(req: {
body: ITyntecAPIEvent;
headers: any;
params: any;
query: any;
}): Promise<Partial<Activity>>;
protected parseTyntecWebhookWhatsAppMoMessage(message: ITyntecMoMessage): Promise<Partial<Activity>>;
protected parseTyntecWebhookMoMessagePostback(message: ITyntecMoMessagePostback): Promise<Partial<Activity>>;
protected parseTyntecWebhookAPIEvent(event: ITyntecAPIEvent): Partial<Activity>;
}