UNPKG

bottender

Version:

A framework for building conversational user interfaces.

292 lines 7.22 kB
import { RequestContext } from '../types'; export * from 'messaging-api-messenger/dist/MessengerTypes'; export { MessengerConnectorOptions } from './MessengerConnector'; export { FacebookBaseConnectorOptions } from './FacebookBaseConnector'; export { MessengerContextOptions } from './MessengerContext'; export declare type EventSender = { id: string; }; export declare type EventRecipient = { id: string; }; export declare type EventMessageQuickReply = { payload: string; }; export declare type MediaAttachmentPayload = { url: string; }; export declare type LocationAttachmentPayload = { coordinates: { lat: number; long: number; }; }; export declare type FallbackAttachment = { type: 'fallback'; payload: null; title: string; URL: string; }; export declare type EventMessageAttachment = { type: 'audio' | 'video' | 'image' | 'file'; payload: MediaAttachmentPayload; } | { type: 'location'; payload: LocationAttachmentPayload; } | FallbackAttachment; declare type EventMessageTag = { source: string; }; declare type EventMessageReplyTo = { mid: string; }; export declare type EventMessage = { mid: string; isEcho?: boolean; text?: string; stickerId?: number; quickReply?: EventMessageQuickReply; attachments?: EventMessageAttachment[]; tags?: EventMessageTag[]; replyTo?: EventMessageReplyTo; appId?: number; metadata?: string; }; export declare type EventDelivery = { mids: string[]; watermark: number; }; export declare type EventRead = { watermark: number; }; export declare type EventReferral = { ref: string; source: string; type: string; originDomain?: string; }; export declare type EventPostback = { title: string; payload?: string; referral?: EventReferral; }; export declare type EventGamePlay = { gameId: string; playerId: string; contextType: 'SOLO' | 'THREAD' | 'GROUP'; contextId: string; score: number; payload: string; }; export declare type EventOptin = { ref: string; userRef?: string; } | { type: 'one_time_notif_req'; payload: string; oneTimeNotifToken: string; }; export declare type EventPayment = { payload: string; requestedUserInfo: Record<string, any>; paymentCredential: Record<string, any>; amount: { currency: string; amount: string; }; shippingOptionId: string; }; export declare type EventCheckoutUpdate = { payload: string; shippingAddress: { id: number; street1: string; street2: string; city: string; state: string; country: string; postalCode: string; }; }; export declare type EventPreCheckout = { payload: string; requestedUserInfo: { shippingAddress: { name: string; street1: string; street2: string; city: string; state: string; country: string; postalCode: string; }; contactName: string; }; amount: { currency: string; amount: string; }; }; export declare type EventPolicyEnforcement = { action: string; reason: string; }; export declare type EventAppRoles = Record<string, string[]>; export declare type EventPassThreadControl = { newOwnerAppId: string; metadata: string; }; export declare type EventTakeThreadControl = { previousOwnerAppId: string; metadata: string; }; export declare type EventRequestThreadControl = { requestedOwnerAppId: number; metadata: string; }; export declare type EventBrandedCamera = { contentIds: string[]; event: string; }; export declare type EventAccountLinking = { status: 'linked'; authorizationCode: string; } | { status: 'unlinked'; }; export declare type EventReaction = { reaction: 'smile' | 'angry' | 'sad' | 'wow' | 'love' | 'like' | 'dislike' | 'other'; emoji: string; action: 'react' | 'unreact'; mid: string; }; export declare type MessengerRawEvent = { sender: EventSender; recipient: EventRecipient; timestamp: number; message: EventMessage; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; delivery: EventDelivery; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; read: EventRead; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; postback: EventPostback; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; accountLinking: EventAccountLinking; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; gamePlay: EventGamePlay; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; optin: EventOptin; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; referral: EventReferral; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; payment: EventPayment; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; checkoutUpdate: EventCheckoutUpdate; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; preCheckout: EventPreCheckout; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; passThreadControl: EventPassThreadControl; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; takeThreadControl: EventTakeThreadControl; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; requestThreadControl: EventRequestThreadControl; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; brandedCamera: EventBrandedCamera; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; reaction: EventReaction; } | { recipient: EventRecipient; timestamp: number; appRoles: EventAppRoles; } | { recipient: EventRecipient; timestamp: number; 'policy-enforcement': EventPolicyEnforcement; }; export declare type MessengerEventOptions = { isStandby?: boolean; pageId?: string | null; }; export declare type MessengerRequestContext = RequestContext<MessengerRequestBody, { 'x-hub-signature'?: string; }>; export declare type MessagingEntry = { id: string; time: number; messaging: MessengerRawEvent[]; } | { id: string; time: number; standby: ({ sender: EventSender; recipient: EventRecipient; timestamp: number; message: EventMessage; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; delivery: EventDelivery; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; read: EventRead; } | { sender: EventSender; recipient: EventRecipient; timestamp: number; postback: EventPostback; })[]; }; export declare type MessengerRequestBody = { object: 'page'; entry: MessagingEntry[]; }; //# sourceMappingURL=MessengerTypes.d.ts.map