/** * Telegram Bot API type definitions. * Extracted from telegram.ts for modularity. */ export interface TelegramSticker { file_id: string; file_unique_id: string; emoji?: string; set_name?: string; } export interface TelegramAnimation { file_id: string; file_unique_id: string; width?: number; height?: number; duration?: number; mime_type?: string; file_name?: string; file_size?: number; thumbnail?: PhotoSize; thumb?: PhotoSize; } export interface TelegramMessage { message_id: number; chat: { id: number; }; text?: string; caption?: string; date: number; message_thread_id?: number; photo?: PhotoSize[]; document?: TelegramDocument; voice?: TelegramVoice; video_note?: TelegramVideoNote; sticker?: TelegramSticker; animation?: TelegramAnimation; forum_topic_created?: { name: string; }; forum_topic_edited?: { name?: string; }; /** * Present when the operator replies to a message with part of it selected * (Telegram's "quote" feature). `text` is the exact excerpt they highlighted. */ quote?: { text: string; position?: number; is_manual?: boolean; }; } export interface PhotoSize { file_id: string; file_unique_id: string; width: number; height: number; file_size?: number; } export interface TelegramDocument { file_id: string; file_unique_id: string; file_name?: string; mime_type?: string; file_size?: number; } export interface TelegramVoice { file_id: string; file_unique_id: string; duration: number; mime_type?: string; file_size?: number; } export interface TelegramVideoNote { file_id: string; file_unique_id: string; length: number; duration: number; thumbnail?: PhotoSize; file_size?: number; } export interface TelegramMessageReaction { chat: { id: number; }; message_id: number; date: number; new_reaction: Array<{ type: string; emoji?: string; }>; } export interface InlineKeyboardButton { text: string; callback_data: string; } export interface TelegramCallbackQuery { id: string; from: { id: number; }; data?: string; message?: TelegramMessage; } export interface TelegramUpdate { update_id: number; message?: TelegramMessage; message_reaction?: TelegramMessageReaction; callback_query?: TelegramCallbackQuery; } export interface GetUpdatesResult { ok: boolean; result: TelegramUpdate[]; description?: string; } export interface SendMessageResult { ok: boolean; result?: TelegramMessage; description?: string; } export interface ForumTopic { message_thread_id: number; name: string; } export interface CreateForumTopicResult { ok: boolean; result?: ForumTopic; description?: string; } export interface TelegramFile { file_id: string; file_path: string; } export interface GetFileResult { ok: boolean; result?: TelegramFile; description?: string; } //# sourceMappingURL=types.d.ts.map