umbot
Version:
Universal bot(vk, telegram, viber) or skills for Yandex.Alisa, Маруся and sber
104 lines (103 loc) • 2.5 kB
TypeScript
export type TTelegramQuestionType = 'quiz' | 'regular';
export type TTelegramChatId = string | number;
export interface ITelegramParams {
chat_id?: TTelegramChatId;
text?: string;
parse_mode?: string;
disable_web_page_preview?: boolean;
disable_notification?: boolean;
reply_to_message_id?: number;
reply_markup?: string;
question?: string;
options?: any;
is_anonymous?: boolean;
type?: TTelegramQuestionType;
allows_multiple_answers?: boolean;
correct_option_id?: number;
is_closed?: boolean;
photo?: string;
caption?: string;
document?: string;
thumb?: string;
audio?: string;
duration?: number;
performer?: string;
title?: string;
video?: string;
supports_streaming?: boolean;
}
export interface ITelegramFrom {
id: number;
is_bot: boolean;
first_name: string;
username: string;
}
export interface ITelegramChat {
id: number;
first_name: string;
last_name: string;
username: string;
type: string;
}
export interface ITelegramPoll {
id: string;
question: string;
options: Array<{
text: string;
voter_count: number;
}>;
total_voter_count: number;
is_closed: boolean;
is_anonymous: boolean;
type: TTelegramQuestionType;
allows_multiple_answers: boolean;
correct_option_id: number;
}
interface IFileInfo {
file_id: string;
file_unique_id: string;
file_size: number;
}
export interface ITelegramPhoto extends IFileInfo {
width: number;
height: number;
}
export interface ITelegramThumb extends IFileInfo {
width?: number;
height?: number;
}
export interface ITelegramDocument extends IFileInfo {
file_name: string;
mime_type: string;
thumb: ITelegramThumb;
}
export interface ITelegramAudio extends IFileInfo {
name: string;
mime_type: string;
duration: number;
performer: string;
thumb: ITelegramThumb;
}
export interface ITelegramVideo extends ITelegramAudio {
width: number;
height: number;
}
export interface ITelegramResultContent {
message_id: number;
from: ITelegramFrom;
chat?: ITelegramChat;
date?: number;
text?: string;
poll?: ITelegramPoll;
photo?: ITelegramPhoto;
document?: ITelegramDocument;
audio?: ITelegramAudio;
video?: ITelegramVideo;
}
export interface ITelegramResult {
ok: boolean;
result: ITelegramResultContent;
error_code?: number;
description?: string;
}
export {};