umbot
Version:
Universal bot(vk, telegram, viber) or skills for Yandex.Alisa, Маруся and sber
113 lines (112 loc) • 2.65 kB
TypeScript
import { TButtonPayload } from '../../components/button/interfaces';
export interface IAlisaEntities {
tokens?: {
start: number;
end: number;
};
type: string;
value: object | number;
}
export interface IAlisaNlu {
tokens?: string[];
entities?: IAlisaEntities[];
intents?: object;
}
export interface IAlisaSession {
new: boolean;
message_id: number;
session_id: string;
skill_id: string;
user_id?: string;
user?: {
user_id: string;
access_token: string;
};
application?: {
application_id: string;
};
}
export interface IAlisaRequestState {
session?: object | string;
user?: object | string;
application?: object | string;
}
export interface IAlisaRequestMeta {
locale: string;
timezone: string;
client_id: string;
interfaces: {
screen?: object;
payments?: object | null;
account_linking: object | null;
};
}
export interface IAlisaRequest {
command: string;
original_utterance: string;
type: 'SimpleUtterance' | 'ButtonPressed';
markup?: {
dangerous_context?: boolean;
};
payload?: object | string;
nlu?: IAlisaNlu;
}
export interface IAlisaWebhookRequest {
meta: IAlisaRequestMeta;
request: IAlisaRequest;
session: IAlisaSession;
account_linking_complete_event?: boolean;
state?: IAlisaRequestState;
version: string;
}
export interface IAlisaButton {
title?: string;
payload?: TButtonPayload;
url?: string;
hide?: boolean;
}
export interface IAlisaButtonCard {
text?: string;
payload?: TButtonPayload;
url?: string;
}
export interface IAlisaImage {
type?: string;
image_id?: string;
title: string;
description?: string;
button?: IAlisaButtonCard;
}
export interface IAlisaBigImage extends IAlisaImage {
type: 'BigImage';
}
export interface IAlisaItemsList {
type: 'ItemsList';
header?: {
text: string;
};
items?: IAlisaImage[];
footer?: {
text: string;
button?: IAlisaButtonCard;
};
}
export interface IAlisaImageGallery {
type: 'ImageGallery';
items?: IAlisaImage[];
}
export interface IAlisaResponse {
text: string;
tts?: string;
card?: IAlisaBigImage | IAlisaItemsList | IAlisaImageGallery;
buttons?: IAlisaButton[] | null;
end_session: boolean;
}
export interface IAlisaWebhookResponse {
response?: IAlisaResponse;
session_state?: object | string;
application_state?: object | string;
user_state_update?: object | string;
version: string;
start_account_linking?: any;
}