UNPKG

bottender

Version:

A framework for building conversational user interfaces.

114 lines 6.87 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import { FacebookBatchQueue } from 'facebook-batch'; import { JsonObject } from 'type-fest'; import { MessengerClient } from 'messaging-api-messenger'; import Context from '../context/Context'; import Session from '../session/Session'; import { RequestContext } from '../types'; import MessengerEvent from './MessengerEvent'; import * as MessengerTypes from './MessengerTypes'; export declare type MessengerContextOptions = { appId?: string; client: MessengerClient; event: MessengerEvent; session?: Session; initialState?: JsonObject; requestContext?: RequestContext; customAccessToken?: string; batchQueue?: FacebookBatchQueue | null; emitter?: EventEmitter; }; declare class MessengerContext extends Context<MessengerClient, MessengerEvent> { _appId: string | null; _customAccessToken: string | null; _personaId: string | null; _batchQueue: FacebookBatchQueue | null; constructor({ appId, client, event, session, initialState, requestContext, customAccessToken, batchQueue, emitter, }: MessengerContextOptions); get platform(): 'messenger'; get accessToken(): string | null; _getMethodOptions<O extends object>(options: O): { accessToken?: string; } & O; _getSenderActionMethodOptions<O extends object>(options: O): { accessToken?: string; personaId?: string; } & O; _getSendMethodOptions<O extends { tag?: MessengerTypes.MessageTag; }>(options: O): { accessToken?: string; personaId?: string; messagingType: MessengerTypes.MessagingType; } & O; usePersona(personaId: string): void; useAccessToken(accessToken: string): void; typing(milliseconds: number): Promise<void>; sendText(text: string, options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendMessageSuccessResponse | undefined>; getUserProfile(options?: { fields?: MessengerTypes.UserProfileField[]; }): Promise<MessengerTypes.User | null>; getUserPersistentMenu(): Promise<MessengerTypes.PersistentMenu | null>; setUserPersistentMenu(attrs: MessengerTypes.PersistentMenu, options?: { composerInputDisabled?: boolean; }): Promise<MessengerTypes.MutationSuccessResponse | undefined>; deleteUserPersistentMenu(): Promise<MessengerTypes.MutationSuccessResponse | undefined>; sendSenderAction(senderAction: MessengerTypes.SenderAction, options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendSenderActionResponse | undefined>; typingOn(options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendSenderActionResponse | undefined>; typingOff(options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendSenderActionResponse | undefined>; markSeen(): Promise<MessengerTypes.SendSenderActionResponse | undefined>; passThreadControl(targetAppId: number, metadata?: string): Promise<{ success: true; } | undefined>; passThreadControlToPageInbox(metadata?: string): Promise<{ success: true; } | undefined>; takeThreadControl(metadata?: string): Promise<{ success: true; } | undefined>; requestThreadControl(metadata?: string): Promise<{ success: true; } | undefined>; getThreadOwner(): Promise<{ appId: string; } | undefined>; isThreadOwner(): Promise<boolean>; associateLabel(labelId: number): Promise<{ success: true; } | undefined>; dissociateLabel(labelId: number): Promise<{ success: true; } | undefined>; getAssociatedLabels(): Promise<{ data: { name: string; id: string; }[]; paging: { cursors: { before: string; after: string; }; }; } | undefined>; sendMessage(message: MessengerTypes.Message, options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendMessageSuccessResponse | undefined>; sendAttachment(attachment: MessengerTypes.Attachment, options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendMessageSuccessResponse | undefined>; sendImage(image: string | MessengerTypes.FileData | MessengerTypes.MediaAttachmentPayload, options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendMessageSuccessResponse | undefined>; sendAudio(audio: string | MessengerTypes.FileData | MessengerTypes.MediaAttachmentPayload, options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendMessageSuccessResponse | undefined>; sendVideo(video: string | MessengerTypes.FileData | MessengerTypes.MediaAttachmentPayload, options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendMessageSuccessResponse | undefined>; sendFile(file: string | MessengerTypes.FileData | MessengerTypes.MediaAttachmentPayload, options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendMessageSuccessResponse | undefined>; sendTemplate(payload: MessengerTypes.TemplateAttachmentPayload, options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendMessageSuccessResponse | undefined>; sendGenericTemplate(elements: MessengerTypes.TemplateElement[], options: { imageAspectRatio?: 'horizontal' | 'square'; } & MessengerTypes.SendOption): Promise<MessengerTypes.SendMessageSuccessResponse | undefined>; sendButtonTemplate(text: string, buttons: MessengerTypes.TemplateButton[], options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendMessageSuccessResponse | undefined>; sendMediaTemplate(elements: MessengerTypes.MediaElement[], options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendMessageSuccessResponse | undefined>; sendReceiptTemplate(attrs: MessengerTypes.ReceiptAttributes, options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendMessageSuccessResponse | undefined>; sendAirlineBoardingPassTemplate(attrs: MessengerTypes.AirlineBoardingPassAttributes, options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendMessageSuccessResponse | undefined>; sendAirlineCheckinTemplate(attrs: MessengerTypes.AirlineCheckinAttributes, options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendMessageSuccessResponse | undefined>; sendAirlineItineraryTemplate(attrs: MessengerTypes.AirlineItineraryAttributes, options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendMessageSuccessResponse | undefined>; sendAirlineUpdateTemplate(attrs: MessengerTypes.AirlineUpdateAttributes, options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendMessageSuccessResponse | undefined>; sendOneTimeNotifReqTemplate(attrs: MessengerTypes.OneTimeNotifReqAttributes, options?: MessengerTypes.SendOption): Promise<MessengerTypes.SendMessageSuccessResponse | undefined>; } export default MessengerContext; //# sourceMappingURL=MessengerContext.d.ts.map