bottender
Version:
A framework for building conversational user interfaces.
292 lines • 7.22 kB
TypeScript
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