umbot
Version:
Universal bot(vk, telegram, viber) or skills for Yandex.Alisa, Маруся and sber
123 lines (122 loc) • 2.77 kB
TypeScript
export type TVkPeerId = string | number;
export type TVkDocType = 'doc' | 'audio_message' | 'graffiti';
export interface IVkApi<T = {}> {
error?: string;
response?: T;
}
export interface IVkUploadFile extends IVkApi {
file: string;
photo: string;
server: string;
hash: string;
}
export interface IVkParamsUsersGet {
user_ids: string[];
fields: string[];
name_case: string;
}
export interface IVkParams {
user_id?: number;
random_id?: number;
peer_id?: number;
domain?: string;
chat_id?: number;
user_ids?: number[];
message?: string;
lat?: number;
long?: number;
attachments?: string[];
reply_to?: number;
forward_messages?: number[];
forward?: string;
sticker_id?: number;
group_id?: number;
keyboard?: string | object;
payload?: string;
dont_parse_links?: boolean;
disable_mentions?: boolean;
template?: any;
}
export interface IVkUsersIds {
peer_id?: number;
message_id?: number;
error?: any;
}
export interface IVKSendMessage extends IVkApi<number> {
user_ids?: IVkUsersIds[];
}
export interface IVkUsersGet extends IVkApi {
id: number;
first_name: string;
last_name: string;
deactivated?: string;
is_closed: boolean;
can_access_closed: boolean;
}
export interface IVkUploadServer extends IVkApi {
upload_url: string;
album_id?: string;
group_id?: string;
}
export interface IVkPhotosSave extends IVkApi {
id: number;
pid: number;
aid: number;
owner_id: number;
src: string;
src_big: string;
src_small: string;
created: number;
src_xbig: string;
src_xxbig: string;
}
interface IVkDocInfo {
id: number;
owner_id: number;
}
export interface IVkGraffiti extends IVkDocInfo {
url: string;
width: number;
height: number;
}
export interface IVkAudioMessageInfo {
duration: number;
waleform: number[];
link_ogg?: string;
link_mp3?: string;
}
export interface IVkAudioMessage extends IVkDocInfo, IVkAudioMessageInfo {
}
export interface IVkPreview {
photo?: string[];
graffiti?: {
src: string;
width: number;
height: number;
};
audio_message?: IVkAudioMessageInfo;
}
export interface IVKDoc extends IVkDocInfo {
url: string;
title: string;
size: number;
ext: string;
date: number;
type: number;
preview: IVkPreview;
}
export interface IVkDocSave extends IVkDocInfo, IVkApi {
type: TVkDocType;
graffiti?: IVkGraffiti;
audio_message?: IVkAudioMessage;
doc?: IVKDoc;
id: number;
url: string;
width?: number;
height?: number;
duration?: number;
waleform?: number[];
link_ogg?: string;
link_mp3?: string;
}
export {};