UNPKG

bottender

Version:

A framework for building conversational user interfaces.

199 lines 5.1 kB
import { RequestContext } from '../types'; export * from 'messaging-api-line/dist/LineTypes'; export { LineConnectorOptions } from './LineConnector'; export { LineContextOptions } from './LineContext'; export declare type UserSource = { type: 'user'; userId: string; }; export declare type GroupSource = { type: 'group'; groupId: string; userId?: string; }; export declare type RoomSource = { type: 'room'; roomId: string; userId?: string; }; export declare type Source = UserSource | GroupSource | RoomSource; export declare type EventTextMessage = { id: string; type: 'text'; text: string; emojis?: MessageEmoji[]; }; export declare type MessageEmoji = { index: number; length: number; productId: string; emojiId: string; }; export declare type ContentProviderLine = { type: 'line'; }; export declare type ContentProviderExternal = { type: 'external'; originalContentUrl: string; previewImageUrl?: string; }; export declare type EventImageMessage = { id: string; type: 'image'; contentProvider: ContentProviderLine | ContentProviderExternal; }; export declare type EventVideoMessage = { id: string; type: 'video'; duration: number; contentProvider: ContentProviderLine | ContentProviderExternal; }; export declare type EventAudioMessage = { id: string; type: 'audio'; duration: number; contentProvider: ContentProviderLine | ContentProviderExternal; }; export declare type EventFileMessage = { id: string; type: 'file'; fileName: string; fileSize: number; }; export declare type EventLocationMessage = { id: string; type: 'location'; title: string; address: string; latitude: number; longitude: number; }; export declare type EventStickerMessage = { id: string; type: 'sticker'; packageId: string; stickerId: string; }; export declare type EventMessage = EventTextMessage | EventImageMessage | EventVideoMessage | EventAudioMessage | EventFileMessage | EventLocationMessage | EventStickerMessage; export declare type MessageEvent = { replyToken: string; type: 'message'; mode: 'active' | 'standby'; timestamp: number; source: Source; message: EventMessage; }; export declare type FollowEvent = { replyToken: string; type: 'follow'; mode: 'active' | 'standby'; timestamp: number; source: Source; }; export declare type UnfollowEvent = { type: 'unfollow'; mode: 'active' | 'standby'; timestamp: number; source: Source; }; export declare type JoinEvent = { replyToken: string; type: 'join'; mode: 'active' | 'standby'; timestamp: number; source: GroupSource | RoomSource; }; export declare type LeaveEvent = { type: 'leave'; mode: 'active' | 'standby'; timestamp: number; source: GroupSource | RoomSource; }; export declare type MemberJoinedEvent = { replyToken: string; type: 'memberJoined'; mode: 'active' | 'standby'; timestamp: number; source: GroupSource | RoomSource; joined: { members: UserSource[]; }; }; export declare type MemberLeftEvent = { type: 'memberLeft'; mode: 'active' | 'standby'; timestamp: number; source: GroupSource | RoomSource; left: { members: UserSource[]; }; }; export declare type PostbackEvent = { replyToken: string; type: 'postback'; mode: 'active' | 'standby'; timestamp: number; source: Source; postback: Postback; }; export declare type PostbackParams = { date: string; } | { time: string; } | { datetime: string; }; export declare type Postback = { data: string; params?: PostbackParams; }; export declare type BeaconEvent = { replyToken: string; type: 'beacon'; mode: 'active' | 'standby'; timestamp: number; source: Source; beacon: Beacon; }; export declare type Beacon = { hwid: string; type: 'enter' | 'banner' | 'stay'; dm?: string; }; export declare type AccountLinkEvent = { replyToken: string; type: 'accountLink'; mode: 'active' | 'standby'; timestamp: number; source: Source; link: AccountLink; }; export declare type AccountLink = { result: 'ok' | 'failed'; nonce: string; }; export declare type ThingsEvent = { replyToken: string; type: 'things'; mode: 'active' | 'standby'; timestamp: number; source: Source; things: Things; }; export declare type Things = { deviceId: string; type: 'link' | 'unlink' | 'scenarioResult'; result?: any; }; export declare type LineEventOptions = { destination?: string; }; export declare type LineRawEvent = MessageEvent | FollowEvent | UnfollowEvent | JoinEvent | LeaveEvent | MemberJoinedEvent | MemberLeftEvent | PostbackEvent | BeaconEvent | AccountLinkEvent | ThingsEvent; export declare type LineRequestBody = { destination: string; events: LineRawEvent[]; }; export declare type LineRequestContext = RequestContext<LineRequestBody, { 'x-line-signature'?: string; }>; //# sourceMappingURL=LineTypes.d.ts.map