Skip Navigation
InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)CX
cxcru
Полностью Бесплатное облачное хранилище в Telegram

Всем привет!

Я тот самый разработчик, который стоит за проектом # 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

Читать далее
  • Да задачи нет чтобы полетел, можно в принципе улучшить чтобы собирались конференции, и добавить ии для конспектирования разговоров, и уже предлагать как B2B решение.

  • Рабочий способ звонить в Telegram после всех запретов.

    Или как я сделал бота чтобы закрыть свою потребность.

    Как я решил проблему со звонками в Telegram: Путь от идеи до рабочего WebRTC-бота

    Привет! Я хочу рассказать о своем опыте разработки Telegram-бота, который позволяет совершать аудио и видеозвонки прямо в мессенджере. Изначально я просто столкнулся с личной проблемой: стандартные звонки в Telegram просто перестали работать, и обьяснить бабушке как включить vpn та еще марока. Я решил создать альтернативное решение.

    Почему Telegram?

    Telegram — удобная платформа для общения, и мне показалось логичным реализовать этот функционал именно там. Я решил использовать технологию WebRTC (Web Real-Time Communication), которая обеспечивает прямую передачу данных между пользователями (P2P), что идеально подходит для звонков.

    Целью было создать бота, который будет работать по принципу инлайн-запросов и открывать интерфейс звонка во встроенном WebApp.

    С какими трудностями я столкнулся?

    Процесс разработки не был простым и включал несколько ключевых технических вызовов:

    1. Установка P2P-соединения

    Самая большая сложность WebRTC заключается в том, что для установки прямого P2P-соединения (обмен данными о сетевых адресах, Offer/Answer SDP) требуется промежуточный сервер сигнализации.

    • Решение: Я развернул отдельный Signaling Server на Node.js с использованием Socket. Он служит координатором, который помогает устройствам «договориться» о начале звонка, но сам трафик звонка через него не идет.

    2. Преодоление сетевых ограничений 

    В реальном мире пользователи находятся за разными маршрутизаторами (NAT), которые не всегда позволяют установить прямое P2P-соединение. Звонок просто не состоялся бы.

    • Решение: Пришлось поднять и настроить свой собственный TURN-сервер (Coturn). TURN-сервер — это «посредник», который ретранслирует медиа-трафик, если прямое P2P невозможно. Это гарантирует, что звонок состоится почти в 100% случаев.

    3. Интеграция с интерфейсом Telegram

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

    • Решение: Разработка WebApp на чистых HTML/CSS/JS, который стилизован под дизайн Telegram, использует адаптивный дизайн и корректно запрашивает разрешения на микрофон и камеру.

    4. Синхронизация статусов звонка

    Нужно было обеспечить, чтобы сообщение в чате обновлялось автоматически после завершения звонка, не засоряя историю.

    • Решение: Я использовал механизм обратной связи Telegram (chosen_inline_result) и связку между ботом и Signaling Server, чтобы отслеживать статус завершения звонка и редактировать исходное сообщение.

    Какой результат я получил?

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

    • Стабильность: Благодаря TURN-серверу звонки работают там, где обычные звонки Telegram могут испытывать трудности.
    • Функциональность: Полный набор функций от mute до переключения камер
    • Приватность: Трафик шифруется (DTLS-SRTP), а P2P-соединение обеспечивает максимальную конфиденциальность.

    Планы на будущее

    Это только начало. В дальнейшем планируется активно развивать проект и добавить функционал конференций, что позволит собирать в одном звонке сразу несколько участников.

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

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

    Читать далее
    Banner
    Top This Month