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