Всем привет!

Я тот самый разработчик, который стоит за проектом # Telegram File Manager Bot. Хочу поделиться своей историей создания этого бота и рассказать, почему я считаю, что он имеет право на жизнь в мире, где есть Google Drive и Dropbox.

Предыстория: Почему я решил писать свой велосипед?

Я, как и многие из вас, пользовался облаками. Но у меня была боль: мне нужно было быстро обмениваться файлами с командой, иметь доступ к ним с телефона, и при этом не платить за лишнее дисковое пространство. "Избранное" в Telegram это хорошо, но когда файлов сотни, начинается хаос.

Я понял, что Telegram это уже готовое, огромное и, главное, бесплатное хранилище. Мне не хватало только интерфейса управления поверх него. Так родилась идея: создать веб-интерфейс, который использует API Telegram для хранения файлов, а в базе данных хранит только метаданные и file_id.

📁 Управление файлами и организация

Это ядро бота, позволяющее уйти от хаоса "Избранного" в Telegram:

  • Загрузка файлов: Пользователи могут отправлять боту любые типы файлов (фото, видео, документы, аудио, голосовые сообщения) размером до 2 ГБ (стандартный лимит Telegram), и если у пользователя подключен telegram premium то 4 ГБ.
  • Организация в папки: Реализована полноценная древовидная структура. Пользователи могут создавать папки и неограниченное количество подпапок для категоризации контента.
  • Перемещение файлов: Файлы можно легко перемещать между различными папками с помощью веб-интерфейса.
  • Удаление: Возможность удалять как отдельные файлы, так и целые папки.
  • Скачивание: Файлы можно получить обратно через бота в любой момент.
  • Множественный выбор: Эта функция позволяет выделять несколько файлов или папок для выполнения массовых операций (перемещение, удаление) одним действием.
  • Навигация Breadcrumbs: Удобная навигация, показывающая текущее местоположение в иерархии папок.

🎨 Персонализация и Интерфейс

Чтобы сделать опыт использования приятным и интуитивно понятным:

  • Веб-интерфейс: Основное взаимодействие происходит через адаптивный веб-интерфейс (Telegram Mini App), который работает на любых устройствах.
  • Два режима отображения: Пользователь может переключаться между компактным видом "Списка" (☰) с деталями и видом "Сетки" (⊞) для визуального просмотра медиа.
  • Иконки папок: Я добавил выбор из 18 различных эмодзи для папок, чтобы пользователи могли визуально отличать их (например, 📚 для книг, 💼 для работы).
  • Переименование: Возможность изменять названия папок для лучшей организации.

👥 Совместная работа и права доступа

Функционал, который превращает бота в командный инструмент:

  • Расшаривание папок: Пользователи могут делиться своими личными папками с другими людьми.
  • Поиск по username: Делиться доступом можно, просто указав @username или Telegram ID другого пользователя.
  • Управление доступом: Владелец папки может просматривать список пользователей, имеющих доступ, и в любой момент отозвать их права.
  • Индикаторы доступа: Визуальные метки показывают, какие папки являются общими.

🖼️ Работа с медиа

Особое внимание я уделил работе с визуальным контентом:

  • Миниатюры фото: Автоматическое создание и отображение превью для изображений.
  • Превью видео: Генерация миниатюр для видеофайлов.
  • Grid view: Оптимизированная сетка для просмотра медиафайлов, как в галерее смартфона.

⚙️ Технические особенности реализации

  • Хранение данных: Используется облачное хранилище Telegram. В собственной базе данных хранятся только метаданные (file_id, названия папок, иконки, права доступа).
  • Быстродействие: Быстрая навигация без перезагрузки веб-страницы.
  • Поддержка всех типов файлов Telegram. 

Почему я не боюсь конкуренции?

Мой бот не заменит вам корпоративный SharePoint. Он не умеет редактировать документы в браузере. Он делает одну вещь, но делает ее хорошо: предоставляет удобный, быстрый и бесплатный (для конечного пользователя) интерфейс к хранилищу Telegram.

Это был интересный опыт разработки.

Я продолжаю его развивать, и надеюсь мой труд будет вам полезен. Пробуйте, тестируйте, пишите фидбек!

👉 Попробовать бота можно здесь: @FileStorageTGbot