Proposed Bot API Update Types (not yet implemented)
=====================================================

TDLib exposes ~181 update types. The Bot API handles ~40 in on_update()
and surfaces ~27 to bots. Below are candidates for new patches, ordered
by estimated usefulness.

Already done:
  * deleted_messages  -- see debian/patches/send-deleted_messages-updates


1. chat_action  (updateChatAction)
   What: typing/upload indicators (typing, uploading photo, recording
         video, etc.) pushed to the bot.
   Data: chat_id, thread_id, sender_user_id, action type
   Status: NOT even handled in on_update() (falls to default)
   Why:  The Bot API can *send* chat actions but never *receives* them.
         Bots could wait for a user to stop typing before replying, or
         detect that a user is about to send a file.

2. message_interaction_info  (updateMessageInteractionInfo)
   What: live view/forward/reaction count updates for messages.
   Data: chat_id, message_id, view_count, forward_count, reply info
   Status: NOT handled (falls to default)
   Why:  View counts are returned in message objects but only update
         when the bot re-fetches.  A push update avoids polling.

3. message_pinned  (updateMessageIsPinned)
   What: notification that a message was pinned or unpinned.
   Data: chat_id, message_id, is_pinned
   Status: NOT handled (falls to default)
   Why:  Bots must poll getChat to discover pin changes.  A push event
         keeps client DBs in sync.

4. Chat metadata (handled internally, not surfaced)
   These are received and cached but no update is dispatched to bots.
   Bots must poll getChat to notice changes.

   updateChatTitle                  -- group/channel renamed
   updateChatPhoto                  -- chat photo changed
   updateChatPermissions            -- permissions changed
   updateChatMessageAutoDeleteTime  -- TTL timer changed
   updateChatHasProtectedContent    -- content protection toggle
   updateChatAvailableReactions     -- allowed reactions changed
   updateChatAccentColors           -- accent colours changed

5. user_status  (updateUserStatus)
   What: online/offline presence for users.
   Data: user_id, status (online / offline + last_seen)
   Status: NOT handled (falls to default)
   Why:  Bots cannot currently see online status at all.


Implementation notes
--------------------
All follow the same pattern as the deleted_messages patch:
  - Add UpdateType enum entry in Client.h (before Size)
  - Add name in get_update_type_name() in Client.cpp
  - Add Json* serializer class in Client.cpp
  - Wire up in on_update() switch
  - Decide: enabled or disabled in DEFAULT_ALLOWED_UPDATE_TYPES
  - dpkg-source --commit to add to quilt stack
