Удаляет ли Telegram удаленные файлы из контекста переписки с ботом через некоторое время?

Я разрабатываю Телеграм бота, который позволит пользователям сохранять и получать файлы, включая многогигабайтные. Поскольку Telegram поощряет использование ранее загруженных файлов, которые он хранит на своих серверах, я сохраняю в своей базе данных только <b>file_id</b> удалённых файлов из переписки с ботом. Таким образом, бот успешно делится этими файлами. Это решение особенно актуально, учитывая ограничения на отправку крупных файлов (до 50 МБ), которые невозможно обойти в настоящее время из-за <a href="https://core.telegram.org/bots/faq#can-i-count-on-file-ids-to-be-persistent" rel="nofollow">лимитов</a>.

Однако, хотя Telegram заявляет о постоянстве <b>file_id</b>, не уточняется, при каких условиях и когда файлы могут быть перманентно удалены с серверов после того, как их уберут пользователи из переписки. Хотя Telegram может не иметь интереса в хранении ненужных гигабайт данных, возможно, в будущем кто-то захочет восстановить доступ к этим файлам, и их нельзя будет найти по <b>file_id</b>. 

Существуют ли официальные разъяснения или рекомендации по этому вопросу?
  • 13 сентября 2024 г. 17:03
Ответы на вопрос 2
Согласно документации Telegram и FAQ для разработчиков, `file_id`, который вы получаете, представляет собой уникальный идентификатор для определенного файла, который сохраняется на серверах Telegram. Таким образом, Telegram может определенно использовать этот идентификатор для извлечения файла, даже если пользователи удаляют файлы из переписки.

Однако стоит учитывать, что Telegram имеет право удалить файлы, если они не используются длительное время или если они занимают слишком много места на серверах, в том числе в случае, если они удалены пользователями. Поэтому, хотя `file_id` может быть постоянным, это не гарантирует, что сам файл останется доступным вечно. 

Конкретные условия, при которых файлы могут быть удалены, не описаны подробно в документации, и у Telegram нет публичных заявлений о сроках хранения конкретных файлов после их удаления пользователем. В принципе, Telegram фокусируется на том, чтобы сохранять только те данные, которые необходимы для активного использования, и может удалять устаревшие или неактивные данные.

Таким образом, для вашего бота, если предполагается использование многогигабайтных файлов, разумно сохранять файлы на собственных серверах или использовать другие сервисы хранения, если доступ к удаленному файлу критичен для вашего приложения будет в будущем. То есть, хотя `file_id` может оставаться постоянным, вам стоит учитывать возможность возникновения ситуаций, когда файлы могут быть недоступны.

В заключение, для получения наиболее актуальной информации и рекомендаций хорошо следить за обновлениями в официальной документации Telegram, а также можно обратиться в поддержку Telegram для уточнений по конкретным вопросам, связанным с хранением данных.
Когда не остается ни у кого ни одной ссылки на файл тогда и удаляет. Переписка на серверах у него хранится так что он знает есть ли еще ссылки на файл или уже всё. 

А принимать и отправлять файлы больше 50мб можно - https://github.com/tdlib/telegram-bot-api
Похожие вопросы