> ## Documentation Index
> Fetch the complete documentation index at: https://docs.extractor.live/llms.txt
> Use this file to discover all available pages before exploring further.

# handle update



## OpenAPI

````yaml /openapi.json post /public/callback/telegram
openapi: 3.0.3
info:
  title: Extractor Project (dev)
  version: 0.0.649
servers: []
security: []
paths:
  /public/callback/telegram:
    post:
      tags:
        - Telegram Route
      summary: handle update
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Update'
      responses:
        '201':
          description: Created
      security:
        - SecurityScheme: []
components:
  schemas:
    Update:
      type: object
      properties:
        update_id:
          format: int32
          type: integer
        message:
          $ref: '#/components/schemas/Message'
        inline_query:
          $ref: '#/components/schemas/InlineQuery'
        chosen_inline_result:
          $ref: '#/components/schemas/ChosenInlineQuery'
        callback_query:
          $ref: '#/components/schemas/CallbackQuery'
        edited_message:
          $ref: '#/components/schemas/Message'
        channel_post:
          $ref: '#/components/schemas/Message'
        edited_channel_post:
          $ref: '#/components/schemas/Message'
        shipping_query:
          $ref: '#/components/schemas/ShippingQuery'
        pre_checkout_query:
          $ref: '#/components/schemas/PreCheckoutQuery'
        poll:
          $ref: '#/components/schemas/Poll'
        poll_answer:
          $ref: '#/components/schemas/PollAnswer'
        my_chat_member:
          $ref: '#/components/schemas/ChatMemberUpdated'
        chat_member:
          $ref: '#/components/schemas/ChatMemberUpdated'
        chat_join_request:
          $ref: '#/components/schemas/ChatJoinRequest'
        message_reaction:
          $ref: '#/components/schemas/MessageReactionUpdated'
        message_reaction_count:
          $ref: '#/components/schemas/MessageReactionCountUpdated'
        chat_boost:
          $ref: '#/components/schemas/ChatBoostUpdated'
        removed_chat_boost:
          $ref: '#/components/schemas/ChatBoostRemoved'
    Message:
      type: object
      properties:
        message_id:
          format: int32
          type: integer
        message_thread_id:
          format: int32
          type: integer
        from:
          $ref: '#/components/schemas/User'
        date:
          format: int32
          type: integer
        chat:
          $ref: '#/components/schemas/Chat'
        forward_from:
          $ref: '#/components/schemas/User'
        forward_from_chat:
          $ref: '#/components/schemas/Chat'
        forward_date:
          format: int32
          type: integer
        text:
          type: string
        entities:
          type: array
          items:
            $ref: '#/components/schemas/MessageEntity'
        caption_entities:
          type: array
          items:
            $ref: '#/components/schemas/MessageEntity'
        audio:
          $ref: '#/components/schemas/Audio'
        document:
          $ref: '#/components/schemas/Document'
        photo:
          type: array
          items:
            $ref: '#/components/schemas/PhotoSize'
        sticker:
          $ref: '#/components/schemas/Sticker'
        video:
          $ref: '#/components/schemas/Video'
        contact:
          $ref: '#/components/schemas/Contact'
        location:
          $ref: '#/components/schemas/Location'
        venue:
          $ref: '#/components/schemas/Venue'
        animation:
          $ref: '#/components/schemas/Animation'
        pinned_message:
          $ref: '#/components/schemas/MaybeInaccessibleMessage'
        new_chat_members:
          type: array
          items:
            $ref: '#/components/schemas/User'
          writeOnly: true
        left_chat_member:
          $ref: '#/components/schemas/User'
        new_chat_title:
          type: string
        new_chat_photo:
          type: array
          items:
            $ref: '#/components/schemas/PhotoSize'
        delete_chat_photo:
          type: boolean
        group_chat_created:
          type: boolean
        reply_to_message:
          $ref: '#/components/schemas/Message'
        voice:
          $ref: '#/components/schemas/Voice'
        caption:
          type: string
        supergroup_chat_created:
          type: boolean
        channel_chat_created:
          type: boolean
        migrate_to_chat_id:
          format: int64
          type: integer
        migrate_from_chat_id:
          format: int64
          type: integer
        edit_date:
          format: int32
          type: integer
        game:
          $ref: '#/components/schemas/Game'
        forward_from_message_id:
          format: int32
          type: integer
        invoice:
          $ref: '#/components/schemas/Invoice'
        successful_payment:
          $ref: '#/components/schemas/SuccessfulPayment'
        video_note:
          $ref: '#/components/schemas/VideoNote'
        author_signature:
          type: string
        forward_signature:
          type: string
        media_group_id:
          type: string
        connected_website:
          type: string
        passport_data:
          $ref: '#/components/schemas/PassportData'
        forward_sender_name:
          type: string
        poll:
          $ref: '#/components/schemas/Poll'
        reply_markup:
          $ref: '#/components/schemas/InlineKeyboardMarkup'
        dice:
          $ref: '#/components/schemas/Dice'
        via_bot:
          $ref: '#/components/schemas/User'
        sender_chat:
          $ref: '#/components/schemas/Chat'
        proximity_alert_triggered:
          $ref: '#/components/schemas/ProximityAlertTriggered'
        message_auto_delete_timer_changed:
          $ref: '#/components/schemas/MessageAutoDeleteTimerChanged'
        is_automatic_forward:
          type: boolean
        has_protected_content:
          type: boolean
        web_app_data:
          $ref: '#/components/schemas/WebAppData'
        video_chat_started:
          $ref: '#/components/schemas/VideoChatStarted'
        video_chat_ended:
          $ref: '#/components/schemas/VideoChatEnded'
        video_chat_participants_invited:
          $ref: '#/components/schemas/VideoChatParticipantsInvited'
        video_chat_scheduled:
          $ref: '#/components/schemas/VideoChatScheduled'
        is_topic_message:
          type: boolean
        forum_topic_created:
          $ref: '#/components/schemas/ForumTopicCreated'
        forum_topic_closed:
          $ref: '#/components/schemas/ForumTopicClosed'
        forum_topic_reopened:
          $ref: '#/components/schemas/ForumTopicReopened'
        forum_topic_edited:
          $ref: '#/components/schemas/ForumTopicEdited'
        general_forum_topic_hidden:
          $ref: '#/components/schemas/GeneralForumTopicHidden'
        general_forum_topic_unhidden:
          $ref: '#/components/schemas/GeneralForumTopicUnhidden'
        write_access_allowed:
          $ref: '#/components/schemas/WriteAccessAllowed'
        has_media_spoiler:
          type: boolean
        user_shared:
          $ref: '#/components/schemas/UserShared'
        chat_shared:
          $ref: '#/components/schemas/ChatShared'
        story:
          $ref: '#/components/schemas/Story'
        external_reply:
          $ref: '#/components/schemas/ExternalReplyInfo'
        forward_origin:
          $ref: '#/components/schemas/MessageOrigin'
        link_preview_options:
          $ref: '#/components/schemas/LinkPreviewOptions'
        quote:
          $ref: '#/components/schemas/TextQuote'
        users_shared:
          $ref: '#/components/schemas/UsersShared'
        giveaway_created:
          $ref: '#/components/schemas/GiveawayCreated'
        giveaway:
          $ref: '#/components/schemas/Giveaway'
        giveaway_winners:
          $ref: '#/components/schemas/GiveawayWinners'
        giveaway_completed:
          $ref: '#/components/schemas/GiveawayCompleted'
        reply_to_story:
          $ref: '#/components/schemas/Story'
        boost_added:
          $ref: '#/components/schemas/ChatBoostAdded'
        sender_boost_count:
          format: int32
          type: integer
    InlineQuery:
      type: object
      properties:
        id:
          type: string
        from:
          $ref: '#/components/schemas/User'
        location:
          $ref: '#/components/schemas/Location'
        query:
          type: string
        offset:
          type: string
        chat_type:
          type: string
    ChosenInlineQuery:
      type: object
      properties:
        result_id:
          type: string
        from:
          $ref: '#/components/schemas/User'
        location:
          $ref: '#/components/schemas/Location'
        inline_message_id:
          type: string
        query:
          type: string
    CallbackQuery:
      type: object
      properties:
        id:
          type: string
        from:
          $ref: '#/components/schemas/User'
        message:
          $ref: '#/components/schemas/MaybeInaccessibleMessage'
        inline_message_id:
          type: string
        data:
          type: string
        game_short_name:
          type: string
        chat_instance:
          type: string
    ShippingQuery:
      type: object
      properties:
        id:
          type: string
        from:
          $ref: '#/components/schemas/User'
        invoice_payload:
          type: string
        shipping_address:
          $ref: '#/components/schemas/ShippingAddress'
    PreCheckoutQuery:
      type: object
      properties:
        id:
          type: string
        from:
          $ref: '#/components/schemas/User'
        currency:
          type: string
        total_amount:
          format: int32
          type: integer
        invoice_payload:
          type: string
        shipping_option_id:
          type: string
        order_info:
          $ref: '#/components/schemas/OrderInfo'
    Poll:
      type: object
      properties:
        id:
          type: string
        question:
          type: string
        options:
          type: array
          items:
            $ref: '#/components/schemas/PollOption'
        total_voter_count:
          format: int32
          type: integer
        is_closed:
          type: boolean
        is_anonymous:
          type: boolean
        type:
          type: string
        allows_multiple_answers:
          type: boolean
        correct_option_id:
          format: int32
          type: integer
        open_period:
          format: int32
          type: integer
        close_date:
          format: int32
          type: integer
        explanation:
          type: string
        explanation_entities:
          type: array
          items:
            $ref: '#/components/schemas/MessageEntity'
    PollAnswer:
      type: object
      properties:
        poll_id:
          type: string
        user:
          $ref: '#/components/schemas/User'
        option_ids:
          type: array
          items:
            format: int32
            type: integer
        voter_chat:
          $ref: '#/components/schemas/Chat'
    ChatMemberUpdated:
      type: object
      properties:
        chat:
          $ref: '#/components/schemas/Chat'
        from:
          $ref: '#/components/schemas/User'
        date:
          format: int32
          type: integer
        old_chat_member:
          $ref: '#/components/schemas/ChatMember'
        new_chat_member:
          $ref: '#/components/schemas/ChatMember'
        invite_link:
          $ref: '#/components/schemas/ChatInviteLink'
        via_chat_folder_invite_link:
          type: boolean
    ChatJoinRequest:
      type: object
      properties:
        chat:
          $ref: '#/components/schemas/Chat'
        from:
          $ref: '#/components/schemas/User'
        date:
          format: int32
          type: integer
        bio:
          type: string
        invite_link:
          $ref: '#/components/schemas/ChatInviteLink'
        user_chat_id:
          format: int64
          type: integer
    MessageReactionUpdated:
      type: object
      properties:
        chat:
          $ref: '#/components/schemas/Chat'
        message_id:
          format: int32
          type: integer
        user:
          $ref: '#/components/schemas/User'
        actor_chat:
          $ref: '#/components/schemas/Chat'
        date:
          format: int32
          type: integer
        old_reaction:
          type: array
          items:
            $ref: '#/components/schemas/ReactionType'
        new_reaction:
          type: array
          items:
            $ref: '#/components/schemas/ReactionType'
    MessageReactionCountUpdated:
      type: object
      properties:
        chat:
          $ref: '#/components/schemas/Chat'
        message_id:
          format: int32
          type: integer
        date:
          format: int32
          type: integer
        reactions:
          type: array
          items:
            $ref: '#/components/schemas/ReactionCount'
    ChatBoostUpdated:
      type: object
      properties:
        chat:
          $ref: '#/components/schemas/Chat'
        boost:
          $ref: '#/components/schemas/ChatBoost'
    ChatBoostRemoved:
      type: object
      properties:
        chat:
          $ref: '#/components/schemas/Chat'
        boost_id:
          type: string
        remove_date:
          format: int32
          type: integer
        source:
          $ref: '#/components/schemas/ChatBoostSource'
    User:
      type: object
      properties:
        id:
          format: int64
          type: integer
        first_name:
          type: string
        is_bot:
          type: boolean
        last_name:
          type: string
        username:
          type: string
        language_code:
          type: string
        can_join_groups:
          type: boolean
        can_read_all_group_messages:
          type: boolean
        supports_inline_queries:
          type: boolean
        is_premium:
          type: boolean
        added_to_attachment_menu:
          type: boolean
    Chat:
      type: object
      properties:
        id:
          format: int64
          type: integer
        type:
          type: string
        title:
          type: string
        first_name:
          type: string
        last_name:
          type: string
        username:
          type: string
        photo:
          $ref: '#/components/schemas/ChatPhoto'
        description:
          type: string
        invite_link:
          type: string
        pinned_message:
          $ref: '#/components/schemas/Message'
        sticker_set_name:
          type: string
        can_set_sticker_set:
          type: boolean
        permissions:
          $ref: '#/components/schemas/ChatPermissions'
        slow_mode_delay:
          format: int32
          type: integer
        bio:
          type: string
        linked_chat_id:
          format: int64
          type: integer
        location:
          $ref: '#/components/schemas/ChatLocation'
        message_auto_delete_time:
          format: int32
          type: integer
        has_private_forwards:
          type: boolean
        has_protected_content:
          type: boolean
        join_to_send_messages:
          type: boolean
        join_by_request:
          type: boolean
        has_restricted_voice_and_video_messages:
          type: boolean
        is_forum:
          type: boolean
        active_usernames:
          type: array
          items:
            type: string
        emoji_status_custom_emoji_id:
          type: string
        has_aggressive_anti_spam_enabled:
          type: boolean
        has_hidden_members:
          type: boolean
        emoji_status_expiration_date:
          type: boolean
        available_reactions:
          type: array
          items:
            $ref: '#/components/schemas/ReactionType'
        accent_color_id:
          format: int32
          type: integer
        background_custom_emoji_id:
          type: string
        profile_accent_color_id:
          type: boolean
        profile_background_custom_emoji_id:
          type: string
        has_visible_history:
          type: boolean
        unrestrict_boost_count:
          format: int32
          type: integer
        custom_emoji_sticker_set_name:
          type: boolean
    MessageEntity:
      type: object
      properties:
        type:
          type: string
        offset:
          format: int32
          type: integer
        length:
          format: int32
          type: integer
        url:
          type: string
        user:
          $ref: '#/components/schemas/User'
        language:
          type: string
        custom_emoji_id:
          type: string
    Audio:
      type: object
      properties:
        file_id:
          type: string
        file_unique_id:
          type: string
        duration:
          format: int32
          type: integer
        mime_type:
          type: string
        file_size:
          format: int64
          type: integer
        title:
          type: string
        performer:
          type: string
        thumbnail:
          $ref: '#/components/schemas/PhotoSize'
        file_name:
          type: string
    Document:
      type: object
      properties:
        file_id:
          type: string
        file_unique_id:
          type: string
        thumbnail:
          $ref: '#/components/schemas/PhotoSize'
        file_name:
          type: string
        mime_type:
          type: string
        file_size:
          format: int64
          type: integer
    PhotoSize:
      type: object
      properties:
        file_id:
          type: string
        file_unique_id:
          type: string
        width:
          format: int32
          type: integer
        height:
          format: int32
          type: integer
        file_size:
          format: int32
          type: integer
        file_path:
          type: string
    Sticker:
      type: object
      properties:
        file_id:
          type: string
        file_unique_id:
          type: string
        type:
          type: string
        width:
          format: int32
          type: integer
        height:
          format: int32
          type: integer
        thumbnail:
          $ref: '#/components/schemas/PhotoSize'
        file_size:
          format: int32
          type: integer
        emoji:
          type: string
        set_name:
          type: string
        mask_position:
          $ref: '#/components/schemas/MaskPosition'
        is_animated:
          type: boolean
        is_video:
          type: boolean
        premium_animation:
          $ref: '#/components/schemas/File'
        custom_emoji_id:
          type: string
        needs_repainting:
          type: boolean
    Video:
      type: object
      properties:
        file_id:
          type: string
        file_unique_id:
          type: string
        width:
          format: int32
          type: integer
        height:
          format: int32
          type: integer
        duration:
          format: int32
          type: integer
        thumbnail:
          $ref: '#/components/schemas/PhotoSize'
        mime_type:
          type: string
        file_size:
          format: int64
          type: integer
        file_name:
          type: string
    Contact:
      type: object
      properties:
        phone_number:
          type: string
        first_name:
          type: string
        last_name:
          type: string
        user_id:
          format: int64
          type: integer
        vcard:
          type: string
    Location:
      type: object
      properties:
        longitude:
          format: double
          type: number
        latitude:
          format: double
          type: number
        horizontal_accuracy:
          format: double
          type: number
        live_period:
          format: int32
          type: integer
        heading:
          format: int32
          type: integer
        proximity_alert_radius:
          format: int32
          type: integer
    Venue:
      type: object
      properties:
        location:
          $ref: '#/components/schemas/Location'
        title:
          type: string
        address:
          type: string
        foursquare_id:
          type: string
        foursquare_type:
          type: string
        google_place_id:
          type: string
        google_place_type:
          type: string
    Animation:
      type: object
      properties:
        file_id:
          type: string
        file_unique_id:
          type: string
        width:
          format: int32
          type: integer
        height:
          format: int32
          type: integer
        duration:
          format: int32
          type: integer
        thumbnail:
          $ref: '#/components/schemas/PhotoSize'
        mime_type:
          type: string
        file_size:
          format: int64
          type: integer
        file_name:
          type: string
    MaybeInaccessibleMessage:
      type: object
      properties:
        userMessage:
          type: boolean
        groupMessage:
          type: boolean
        superGroupMessage:
          type: boolean
        chatId:
          format: int64
          type: integer
        messageId:
          format: int32
          type: integer
        date:
          format: int32
          type: integer
    Voice:
      type: object
      properties:
        file_id:
          type: string
        file_unique_id:
          type: string
        duration:
          format: int32
          type: integer
        mime_type:
          type: string
        file_size:
          format: int64
          type: integer
    Game:
      type: object
      properties:
        title:
          type: string
        description:
          type: string
        photo:
          type: array
          items:
            $ref: '#/components/schemas/PhotoSize'
        text:
          type: string
        text_entities:
          type: array
          items:
            $ref: '#/components/schemas/MessageEntity'
        animation:
          $ref: '#/components/schemas/Animation'
    Invoice:
      type: object
      properties:
        title:
          type: string
        description:
          type: string
        start_parameter:
          type: string
        currency:
          type: string
        total_amount:
          format: int32
          type: integer
        photo:
          $ref: '#/components/schemas/PhotoSize'
    SuccessfulPayment:
      type: object
      properties:
        currency:
          type: string
        total_amount:
          format: int32
          type: integer
        invoice_payload:
          type: string
        shipping_option_id:
          type: string
        order_info:
          $ref: '#/components/schemas/OrderInfo'
        telegram_payment_charge_id:
          type: string
        provider_payment_charge_id:
          type: string
    VideoNote:
      type: object
      properties:
        file_id:
          type: string
        file_unique_id:
          type: string
        length:
          format: int32
          type: integer
        duration:
          format: int32
          type: integer
        thumbnail:
          $ref: '#/components/schemas/PhotoSize'
        file_size:
          format: int32
          type: integer
    PassportData:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/EncryptedPassportElement'
        credentials:
          $ref: '#/components/schemas/EncryptedCredentials'
    InlineKeyboardMarkup:
      type: object
      properties:
        inline_keyboard:
          type: array
          items:
            type: array
            items:
              $ref: '#/components/schemas/InlineKeyboardButton'
    Dice:
      type: object
      properties:
        value:
          format: int32
          type: integer
        emoji:
          type: string
    ProximityAlertTriggered:
      type: object
      properties:
        traveler:
          $ref: '#/components/schemas/User'
        watcher:
          $ref: '#/components/schemas/User'
        distance:
          format: int32
          type: integer
    MessageAutoDeleteTimerChanged:
      type: object
      properties:
        message_auto_delete_time:
          format: int32
          type: integer
    WebAppData:
      type: object
      properties:
        data:
          type: string
        button_text:
          type: string
    VideoChatStarted:
      type: object
    VideoChatEnded:
      type: object
      properties:
        duration:
          format: int32
          type: integer
    VideoChatParticipantsInvited:
      type: object
      properties:
        users:
          type: array
          items:
            $ref: '#/components/schemas/User'
    VideoChatScheduled:
      type: object
      properties:
        start_date:
          format: int32
          type: integer
    ForumTopicCreated:
      type: object
      properties:
        name:
          type: string
        icon_color:
          format: int32
          type: integer
        icon_custom_emoji_id:
          type: string
    ForumTopicClosed:
      type: object
    ForumTopicReopened:
      type: object
    ForumTopicEdited:
      type: object
      properties:
        name:
          type: string
        icon_custom_emoji_id:
          type: string
    GeneralForumTopicHidden:
      type: object
    GeneralForumTopicUnhidden:
      type: object
    WriteAccessAllowed:
      type: object
      properties:
        from_request:
          type: boolean
        web_app_name:
          type: string
        from_attachment_menu:
          type: boolean
    UserShared:
      type: object
      properties:
        request_id:
          type: string
        user_id:
          format: int64
          type: integer
    ChatShared:
      type: object
      properties:
        request_id:
          type: string
        chat_id:
          format: int64
          type: integer
    Story:
      type: object
      properties:
        chat:
          $ref: '#/components/schemas/Chat'
        id:
          format: int32
          type: integer
    ExternalReplyInfo:
      type: object
      properties:
        origin:
          $ref: '#/components/schemas/MessageOrigin'
        chat:
          $ref: '#/components/schemas/Chat'
        message_id:
          format: int32
          type: integer
        link_preview_options:
          $ref: '#/components/schemas/LinkPreviewOptions'
        animation:
          $ref: '#/components/schemas/Animation'
        audio:
          $ref: '#/components/schemas/Audio'
        document:
          $ref: '#/components/schemas/Document'
        photo:
          type: array
          items:
            $ref: '#/components/schemas/PhotoSize'
        sticker:
          $ref: '#/components/schemas/Sticker'
        story:
          $ref: '#/components/schemas/Story'
        video:
          $ref: '#/components/schemas/Video'
        video_note:
          $ref: '#/components/schemas/VideoNote'
        voice:
          $ref: '#/components/schemas/Voice'
        has_media_spoiler:
          type: boolean
        contact:
          $ref: '#/components/schemas/Contact'
        dice:
          $ref: '#/components/schemas/Dice'
        game:
          $ref: '#/components/schemas/Game'
        giveaway:
          $ref: '#/components/schemas/Giveaway'
        giveaway_winners:
          $ref: '#/components/schemas/GiveawayWinners'
        invoice:
          $ref: '#/components/schemas/Invoice'
        location:
          $ref: '#/components/schemas/Location'
        poll:
          $ref: '#/components/schemas/Poll'
        venue:
          $ref: '#/components/schemas/Venue'
    MessageOrigin:
      type: object
    LinkPreviewOptions:
      type: object
      properties:
        is_disabled:
          type: boolean
        url:
          type: string
        prefer_small_media:
          type: boolean
        prefer_large_media:
          type: boolean
        show_above_text:
          type: boolean
    TextQuote:
      type: object
      properties:
        text:
          type: string
        entities:
          type: array
          items:
            $ref: '#/components/schemas/MessageEntity'
        position:
          format: int32
          type: integer
        is_manual:
          type: boolean
    UsersShared:
      type: object
      properties:
        request_id:
          type: string
        user_ids:
          type: array
          items:
            format: int64
            type: integer
    GiveawayCreated:
      type: object
    Giveaway:
      type: object
      properties:
        chats:
          type: array
          items:
            $ref: '#/components/schemas/Chat'
        winners_selection_date:
          format: int32
          type: integer
        winner_count:
          format: int32
          type: integer
        only_new_members:
          type: boolean
        has_public_winners:
          type: boolean
        prize_description:
          type: string
        country_codes:
          type: array
          items:
            type: string
        premium_subscription_month_count:
          format: int32
          type: integer
    GiveawayWinners:
      type: object
      properties:
        chat:
          $ref: '#/components/schemas/Chat'
        giveaway_message_id:
          format: int32
          type: integer
        winners_selection_date:
          format: int32
          type: integer
        winner_count:
          format: int32
          type: integer
        winners:
          type: array
          items:
            $ref: '#/components/schemas/User'
        additional_chat_count:
          format: int32
          type: integer
        premium_subscription_month_count:
          format: int32
          type: integer
        unclaimed_prize_count:
          format: int32
          type: integer
        only_new_members:
          type: boolean
        was_refunded:
          type: boolean
        prize_description:
          type: string
    GiveawayCompleted:
      type: object
      properties:
        winner_count:
          format: int32
          type: integer
        unclaimed_prize_count:
          format: int32
          type: integer
        giveaway_message:
          $ref: '#/components/schemas/Message'
    ChatBoostAdded:
      type: object
      properties:
        boost_count:
          format: int32
          type: integer
    ShippingAddress:
      type: object
      properties:
        country_code:
          type: string
        state:
          type: string
        city:
          type: string
        street_line1:
          type: string
        street_line2:
          type: string
        post_code:
          type: string
    OrderInfo:
      type: object
      properties:
        name:
          type: string
        phone_number:
          type: string
        email:
          type: string
        shipping_address:
          $ref: '#/components/schemas/ShippingAddress'
    PollOption:
      type: object
      properties:
        text:
          type: string
        voter_count:
          format: int32
          type: integer
    ChatMember:
      type: object
      properties:
        status:
          type: string
        user:
          $ref: '#/components/schemas/User'
    ChatInviteLink:
      type: object
      properties:
        invite_link:
          type: string
        creator:
          $ref: '#/components/schemas/User'
        is_primary:
          type: boolean
        is_revoked:
          type: boolean
        expire_date:
          format: int32
          type: integer
        member_limit:
          format: int32
          type: integer
        name:
          type: string
        pending_join_request_count:
          format: int32
          type: integer
        creates_join_request:
          type: boolean
    ReactionType:
      type: object
    ReactionCount:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ReactionType'
        total_count:
          format: int32
          type: integer
    ChatBoost:
      type: object
      properties:
        boost_id:
          type: string
        add_date:
          format: int32
          type: integer
        expiration_date:
          format: int32
          type: integer
        source:
          $ref: '#/components/schemas/ChatBoostSource'
    ChatBoostSource:
      type: object
    ChatPhoto:
      type: object
      properties:
        small_file_id:
          type: string
        small_file_unique_id:
          type: string
        big_file_id:
          type: string
        big_file_unique_id:
          type: string
    ChatPermissions:
      type: object
      properties:
        can_send_messages:
          type: boolean
        can_send_audios:
          type: boolean
        can_send_documents:
          type: boolean
        can_send_photos:
          type: boolean
        can_send_videos:
          type: boolean
        can_send_video_notes:
          type: boolean
        can_send_voice_notes:
          type: boolean
        can_send_polls:
          type: boolean
        can_send_other_messages:
          type: boolean
        can_add_web_page_previews:
          type: boolean
        can_change_info:
          type: boolean
        can_invite_users:
          type: boolean
        can_pin_messages:
          type: boolean
        can_manage_topics:
          type: boolean
        can_send_media_messages:
          type: boolean
          deprecated: true
    ChatLocation:
      type: object
      properties:
        location:
          $ref: '#/components/schemas/Location'
        address:
          type: string
    MaskPosition:
      type: object
      properties:
        point:
          type: string
        x_shift:
          format: float
          type: number
        y_shift:
          format: float
          type: number
        scale:
          format: float
          type: number
    File:
      type: object
      properties:
        file_id:
          type: string
        file_unique_id:
          type: string
        file_size:
          format: int64
          type: integer
        file_path:
          type: string
    EncryptedPassportElement:
      type: object
      properties:
        type:
          type: string
        data:
          type: string
        phone_number:
          type: string
        email:
          type: string
        files:
          type: array
          items:
            $ref: '#/components/schemas/PassportFile'
        front_side:
          $ref: '#/components/schemas/PassportFile'
        reverse_side:
          $ref: '#/components/schemas/PassportFile'
        selfie:
          $ref: '#/components/schemas/PassportFile'
        translation:
          type: array
          items:
            $ref: '#/components/schemas/PassportFile'
        hash:
          type: string
    EncryptedCredentials:
      type: object
      properties:
        data:
          type: string
        hash:
          type: string
        secret:
          type: string
    InlineKeyboardButton:
      type: object
      properties:
        text:
          type: string
        url:
          type: string
        callback_data:
          type: string
        callback_game:
          $ref: '#/components/schemas/CallbackGame'
        switch_inline_query:
          type: string
        switch_inline_query_current_chat:
          type: string
        pay:
          type: boolean
        login_url:
          $ref: '#/components/schemas/LoginUrl'
        web_app:
          $ref: '#/components/schemas/WebAppInfo'
    PassportFile:
      type: object
      properties:
        file_id:
          type: string
        file_unique_id:
          type: string
        file_size:
          format: int32
          type: integer
        file_date:
          format: int32
          type: integer
    CallbackGame:
      type: object
    LoginUrl:
      type: object
      properties:
        url:
          type: string
        forward_text:
          type: string
        bot_username:
          type: string
        request_write_access:
          type: boolean
    WebAppInfo:
      type: object
      properties:
        url:
          type: string
  securitySchemes:
    SecurityScheme:
      type: http
      description: Authentication
      scheme: bearer
      bearerFormat: JWT

````