Создаю Телеграм бота для возможности хранения и получения файлов (даже многогигабайтных). Т.к. Тelegram приветствует переиспользование ранее загруженных в него файлов, которые он автоматически сохраняет у себя на серверах, у себя в БД я храню только
file_id ранее отправленных (а затем удаленных) в переписку с чат-ботом файлов. Бот успешно их шарит. Естественно, эта концепция полезна в контексте того, что бот работает и с крупными файлами, скачивать которые из-за
лимитов (до 50мб на отправку) сейчас нельзя.
Телеграм
ссылается на постоянство
file_id, но нигде не говорит о том, когда и при каких условиях будет перманентно удалять эти самые файлы с серверов после их удаления пользователями из переписки (при отсутствии необходимости использования файла его отправителям). Телеграму может быть не выгодно хранить у себя никому никогда больше ненужные гигабайты файлов, однако, рано или поздно, кто-нибудь может захотеть получить их обратно, и по
file_id их найти будет уже нельзя.
Останется копия, но насколько долго?
Проблему можно решить пересылкой файлов в отдельный приват-чат бота, откуда позже он сможет их когда угодно достать по
message id (ведь Телеграм никогда не удаляет просто-так сообщения), но этот вариант череват более вероятной блокировкой бота (возможно даже если соблюдать все лимиты отправки-пересылки сообщений). Так что, если есть пруфы, что Телеграм никогда не удалит файлы из контекста переписки пользователя с ботом, пожалуйста, сообщите об этом.