Как загрузить папку с файлами в телеграмм

Обновлено: 21.11.2024

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

Загрузка файлов

Существует несколько методов API для сохранения файлов. Схема используемых типов и методов представлена ​​ниже:

Перед передачей содержимого самого файла файлу необходимо присвоить уникальный 64-битный идентификатор клиента: file_id.

Двоичный контент файла затем разбивается на части. Все части должны иметь одинаковый размер ( part_size ) и должны выполняться следующие условия:

  • part_size % 1024 = 0 (делится на 1 КБ)
  • 524288 % part_size = 0 (512 КБ должны делиться нацело на part_size)

Последняя часть не обязана удовлетворять этим условиям, если ее размер меньше, чем part_size.

Каждая часть должна иметь порядковый номер file_part со значением от 0 до 2999.

После того, как файл был разбит на разделы, вам необходимо выбрать способ его сохранения на сервере. Используйте upload.saveBigFilePart, если полный размер файла превышает 10 МБ, и upload.saveFilePart для файлов меньшего размера.

При каждом вызове часть данных сохраняется во временном месте на сервере для последующего использования. Срок хранения каждой порции данных составляет от нескольких минут до нескольких часов (в зависимости от загруженности области хранения). По истечении этого времени файловая часть станет недоступной. Чтобы увеличить эффективность операции сохранения файла, мы рекомендуем использовать очередь вызовов, чтобы в любой момент времени сохранялось X фрагментов файла. Каждая успешная операция по сохранению части вызывает вызов метода для сохранения следующей части. Значение X можно настроить для достижения максимальной производительности.

При использовании одного из указанных выше методов для сохранения частей файла может быть возвращена одна из следующих ошибок ввода данных:

  • FILE_PARTS_INVALID – неверное количество частей. Значение не находится в диапазоне от 1 до 3000.
  • FILE_PART_INVALID: неверный номер части файла. Значение не находится в диапазоне от 0 до 2999 .
  • FILE_PART_TOO_BIG: превышен предельный размер (512 КБ) содержимого файловой части
  • FILE_PART_EMPTY: отправленная часть файла пуста
  • FILE_PART_SIZE_INVALID — 512 КБ нельзя разделить на части part_size.
  • FILE_PART_SIZE_CHANGED – размер части отличается от размера одной из предыдущих частей того же файла.

Пока загружаются части, хэш MD5 содержимого файла также может быть вычислен для последующего использования в качестве параметра md5_checksum в конструкторе inputFile (поскольку он проверяется только сервером, для зашифрованных секретных файлов чата он должен быть сгенерирован из зашифрованного файла). После того, как весь файл будет успешно сохранен, можно вызвать последний метод и передать сгенерированный объект inputFile. В случае использования метода upload.saveBigFilePart необходимо передать конструктор inputFileBig, в остальных случаях использовать inputFile.

    - Отправляет медиафайл в чат - Загружает медиафайл в чат, не отправляя его, возвращая только конструктор MessageMedia, который можно использовать для последующей отправки файла в несколько чатов, без его повторной загрузки каждый раз. - Используется для установки изображения профиля или чата или видео

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

  • FILE_PARTS_INVALID: недопустимое количество частей файла. Значение не находится в диапазоне от 1 до 3000.
  • FILE_PART_Х_MISSING: часть X (где X — номер) файла отсутствует в хранилище. Попробуйте повторить вызов метода, чтобы повторно сохранить часть.
  • MD5_CHECKSUM_INVALID: контрольная сумма файла не соответствует параметру md5_checksum

Альбомы, сгруппированные медиафайлы

Telegram позволяет группировать фотографии в альбомы, а общие файлы (аудио, документы) — в медиагруппы.

Для этого используется messages.sendMultiMedia, заключающий каждый конструктор InputMedia (загруженный или уже существующий, максимум 10 на группу мультимедиа) в конструктор inputSingleMedia, при необходимости предоставляющий настраиваемый заголовок для каждого файла в сообщении.

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

Повторное использование предварительно загруженных файлов

Для некоторых типов документов, таких как GIF, messages.getDocumentByHash можно использовать для поиска документа на серверах Telegram. Вычисляется хеш SHA256 файла, который передается вместе с типом и размером mime файла в метод: если тип файла правильный и файл найден, возвращается документ.

Загрузка изображений профиля или чата

Изображения профиля пользователя можно загрузить с помощью метода photos.uploadProfilePhoto: фактическое изображение профиля должно быть загружено, как и для обычных файлов.
photos.uploadProfilePhoto также можно использовать для повторной загрузки ранее загруженных изображений профиля.

Анимированные изображения профиля

Анимированные изображения профиля также поддерживаются путем заполнения конструктора видео: поддерживаются квадратные видео MPEG4 с разрешением до 1080 x 1080, рекомендуемое разрешение – 800 x 800.
video_start_ts – это временная метка UNIX с плавающей запятой в секундах, указывающая кадр видео, который следует использовать в качестве статического предварительного просмотра.

Фото и видео профиля чата, канала и супергруппы можно загружать с помощью messages.editChatPhoto (устаревшие группы) или channels.editPhoto (каналы, супергруппы).
Используйте inputChatPhoto для повторного использования ранее загруженных изображений профиля.

Скачивание файлов

Существуют методы загрузки файлов, которые были успешно загружены. Схема используемых типов и методов представлена ​​ниже:

Любой файл можно загрузить, вызвав upload.getFile. Данные для входного параметра типа InputFileLocation формируются следующим образом:

  • id , file_reference и access_hash взяты из конструктора фотографий
  • thumb_size берется из поля типа нужного PhotoSize фотографии

Для изображений профилей пользователей, каналов, супергрупп и групп необходимо использовать inputPeerPhotoFileLocation:

  • peer – это идентификатор партнера, фото которого мы хотим загрузить.
  • большой используется для выбора загрузки изображения в полном разрешении или только уменьшенного изображения.
  • photo_id извлекается из chatPhoto или userProfilePhoto нужной фотографии профиля
  • id , file_reference и access_hash взяты из конструктора документа
  • При загрузке эскиза документа размер thumb_size следует брать из поля типа нужного PhotoSize фотографии; в противном случае укажите пустую строку.

Для предварительного просмотра наборов стикеров используется inputStickerSetThumb (примечание: для загрузки стикеров и предварительного просмотра стикеров используйте метод документа, описанный выше для документов):

  • набор стикеров задается конструктором InputStickerSet, сгенерированным из stickerSet.
  • thumb_version копируется из того же поля в наборе стикеров

Для зашифрованных документов секретного чата и телеграммы должны использоваться соответственно inputEncryptedFileLocation и inputSecureFileLocation с параметрами, извлеченными из зашифрованного файла и secureFile (документы паспорта).

Для фрагментов прямой трансляции используется inputGroupCallStream:

  • вызов содержит связанный идентификатор группового вызова и хэш доступа, взятый из конструктора groupCall.
  • time_ms указывает отметку времени для получения
  • scale определяет длительность извлекаемого видеосегмента в миллисекундах путем сдвига битов 1000 вправо по шкале раз: duration_ms := 1000 >> scale
  • video_channel указывает видеоканал для извлечения
  • video_quality указывает выбранное качество видео (0 = самое низкое, 1 = среднее, 2 = лучшее)

Для старых устаревших фотографий, если клиент кэшировал некоторые старые файловые местоположения с устаревшим секретным идентификатором, используется inputFileLocation или inputPhotoLegacyFileLocation (в основном это используется для обратной совместимости с идентификаторами файлов API бота, все пользовательские клиенты должны использовать современный файл inputPhotoFileLocation идентификаторы):

  • Все поля берутся из ранее кэшированного файла fileLocation, за исключением file_reference , access_hash и id , которые берутся из конструктора фотографий (последние два поля используются, только если они доступны, и в этом случае вместо inputFileLocation используется inputPhotoLegacyFileLocation).< /li>

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

Если точный флаг не указан, то

  • Смещение параметра должно быть кратно 4 КБ.
  • Ограничение параметра должно быть кратно 4 КБ.
  • 1048576 (1 МБ) должно быть кратно ограничению.

Если указано точное значение, то

  • Смещение параметра должно быть кратно 1 КБ.
  • Ограничение параметра должно быть кратно 1 КБ.
  • ограничение не должно превышать 1048576 (1 МБ).

В любом случае запрошенная часть должна находиться в пределах одного фрагмента размером 1 МБ от начала файла, т.е. д.

Операция загрузки файла может вернуть ошибку FILE_REFERENCE_EXPIRED (или другую ошибку, начинающуюся с FILE_REFERENCE_ ): в этом случае необходимо обновить поле file_reference местоположения ввода. Операция загрузки файла может вернуть конструктор upload.fileCdnRedirect: в этом случае необходимо следовать этим инструкциям для загрузки файлов CDN.Операция загрузки файла также может возвращать одну из следующих ошибок ввода данных:

  • FILE_ID_INVALID: неверный адрес файла
  • OFFSET_INVALID: значение смещения недопустимо
  • LIMIT_INVALID: недопустимое предельное значение
  • FILE_MIGRATE_X: файл находится в центре обработки данных № X.

Проверка загруженных фрагментов

Чтобы подтвердить целостность загруженного файла, клиентам рекомендуется проверять хэши для каждой загруженной части, как и для CDN DC. upload.getFileHashes содержит конструкторы FileHash. Каждый из этих конструкторов содержит хэш SHA-256 части файла, которая начинается со смещения и занимает ограничение в байтах.

Перед сохранением каждой порции данных, полученных от контроллера домена, в файл, клиент может убедиться, что его хэш совпадает с хешем, полученным от главного контроллера домена. Если отсутствует хэш для какой-либо части файла, разработчики клиента должны использовать метод upload.getFileHashes для получения отсутствующего хэша.

Обработка аудио, видео и векторных изображений

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

Типы миниатюр изображений

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

< td>box
Тип Фильтр изображения Размер
s box 100x100
m box 320x320< /td>
x box 800x800
y 1280x1280
w box 2560x2560
a обрезка 160x160
b обрезка 320x320
c обрезать 640x640
d обрезать 1280x1280

Тип Фильтр изображений
i strip
j контур

Обрезанные миниатюры

PhotoStrippedSize (с типом i ) – это миниатюра с очень низким разрешением, встроенная непосредственно в объекты местоположения мультимедиа.
Он должен отображаться пользователю в предварительном просмотре сообщений чата или при загрузке наиболее подходящего размера photoSize через мультимедиа DC, как описано выше.

Миниатюры векторов

Эта конкретная миниатюра вектора состоит из пути SVG, специально закодированного для экономии места.
Этот путь будет контуром анимированного стикера, и его следует показывать пользователю при загрузке фактического стикера.

Что касается зачищенных размеров, полезная нагрузка должна увеличиваться по следующему алгоритму:

path будет содержать фактический путь SVG, который можно напрямую вставить в атрибут d элемента svg:

Типы видео

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

Тип Описание Формат
u Анимированное изображение профиля MPEG4
v Предварительный просмотр видео MPEG4

Скачивание веб-файлов

Однако, если удаленный файл содержится в веб-документе, во избежание утечки конфиденциальной информации файл необходимо загрузить через серверы Telegram. Это можно сделать аналогично обычным файлам, с той разницей, что вместо этого необходимо использовать upload.getWebFile.

Конструктор InputWebFileLocation создается следующим образом.

    просто генерируется путем использования полей url и access_hash конструктора webDocument. используется для загрузки сгенерированного сервером изображения с предварительным просмотром карты из geoPoint.
    • geo_point генерируется из параметров lat , long precision_radius для geoPoint
    • access_hash – это хэш доступа к точке geoPoint.
    • w — ширина карты в пикселях до применения масштаба; 16-1024
    • h — высота карты в пикселях до применения масштаба; 16-1024
    • zoom — уровень масштабирования карты; 13–20
    • scale — Масштаб карты; 1–3

    Общие соображения

    Рекомендуется, чтобы большие запросы (upload.getFile, upload.saveFilePart, upload.getWebFile) обрабатывались через отдельный сеанс и отдельное соединение, в котором не должны выполняться никакие другие методы, кроме этих. Если это сделать, то передача данных будет меньше мешать получению обновлений и вызову других методов.

    Мы можем делать много разных вещей со своими смартфонами, но одна из самых распространенных — это общение с друзьями. Вы можете совершать видеозвонки или просто отправлять текстовые сообщения. Современные приложения для обмена сообщениями могут поддерживать различные функции: обмен текстовыми сообщениями, видеозвонки, обмен фотографиями и видео. Одними из самых популярных приложений для обмена сообщениями являются WhatsApp, Viber, WeChat и Telegram.

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

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

    Telegram поддерживает безопасную передачу файлов, поэтому вы можете делиться своими документами во время чата. Используя Telegram, вы можете безопасно обмениваться большими файлами размером до 1,5 ГБ бесплатно, и это здорово, потому что у большинства почтовых провайдеров есть ограничения на размер вложений. Обычно это около 25 МБ и зависит от провайдера электронной почты. Но что делать, если вам нужно отправить файл большого размера, например, размером 50 ГБ или даже больше?

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

    Если вы не хотите тратить время на выбор лучшего сервиса, мы рекомендуем использовать FileWhopper.

    • У этой службы нет ограничений по размеру, вы можете обмениваться файлами размером до 10 ТБ (да, ДЕСЯТЬ терабайт).
    • Не нужно покупать ежемесячную подписку, просто внесите плату в зависимости от размера файла.
    • Очень просто и удобно, если вы хотите отправить большой файл своему другу прямо сейчас.

    Как Telegram поддерживает функции безопасности?

    Во-первых, он предлагает сквозное шифрование. Тогда есть вариант «Секретный чат»: все сообщения в этом чате уничтожаются, когда разговор заканчивается. Имейте в виду, что Telegram Messenger — проект с открытым исходным кодом, а это значит, что исходный код доступен всем абсолютно бесплатно.

    Вы можете использовать Telegram Messenger на своем смартфоне и компьютере: настольном компьютере или ноутбуке. Telegram — очень полезное приложение для обмена файлами любого типа, которое позволяет легко делиться файлами, которые вы получаете от других пользователей. Все, что вам нужно сделать, это открыть полученный файл в Telegram и нажать кнопку «Поделиться», а затем выбрать, как вы хотите поделиться файлом: отправить по электронной почте или через другое приложение.

    Если вы являетесь пользователем Android, вы увидите параметр «Поделиться» в контекстном меню вашего файла. Это очень удобно, когда вам нужно поделиться большими файлами с друзьями или коллегами.

    Если вы являетесь пользователем iOS, вы можете использовать меню «Поделиться» при просмотре любого документа на вашем устройстве iOS.

    У вас еще нет Telegram Messenger? Загрузите его для Android или iOS.

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

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

    Если вы хотите поделиться своими идеями, оставьте свои комментарии ниже или пообщайтесь с нами в Facebook или Twitter.

    Была ли эта информация полезной? Ознакомьтесь с другими статьями с подсказками Telegram в нашем блоге.

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

    В этой статье мы покажем вам, как создавать папки в Telegram и многое другое.

    Что такое папки Telegram?

    Многие используют Telegram как для работы, так и для общения с друзьями. Через некоторое время у вас появляется много чатов и вы присоединяетесь ко многим группам. Все это может сбивать с толку.

    Telegram может быть первым приложением для обмена сообщениями, предлагающим решение этой проблемы — папки чата. Теперь вы сможете организовывать свои разговоры, а также быстрее находить и просматривать определенные чаты.

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

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

    Конечно, вы можете организовывать свои разговоры так, как вам нравится. Это всего лишь предложения, которые, по нашему мнению, могут оказаться полезными для вас.

    Как создать папку?

    Теперь вы знаете, что такое папки Telegram и как их использовать. Пришло время показать вам, как создавать сами папки. Вот что вам нужно сделать:

    Вот оно! Вы только что создали новую папку. Теперь вам нужно настроить его.

    Когда вы войдете в раздел «Папки», вы увидите несколько предлагаемых папок. Если вы хотите добавить одну из этих папок, просто нажмите значок «Добавить» рядом с их именами. Например, Telegram предлагает пользователям создать «Непрочитанную папку». Создав эту папку, вы никогда не пропустите ни одного сообщения, так как все новые сообщения будут храниться там до тех пор, пока вы их не прочитаете.

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

    Как удалить чат из папки?

    Конечно, вы всегда можете добавить новые чаты в папку, но вы также можете удалить чаты. Вот что вам нужно сделать:

    1. Откройте приложение Telegram.
    2. Нажмите на три линии в левом верхнем углу.
    3. Войдите в настройки.
    4. Прокрутите вниз и нажмите «Папки».
    5. Введите папку, которую вы хотите изменить.
    6. Затем вы можете нажать «Добавить чат» или «Удалить чат» в зависимости от того, что вы хотите сделать.
    7. Введите название чата.
    8. Наконец, еще раз нажмите "Добавить" или "Удалить".

    На этом все! Ваши приоритеты меняются со временем, как и люди, с которыми вы чаще всего общаетесь. Вот почему Telegram позволяет вам обновлять свои папки, чтобы использовать их по максимуму.

    Заархивированные папки

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

    Перемещение чатов в архив еще никогда не было таким простым. Все, что вам нужно сделать, это провести по разговору справа налево, и он будет заархивирован.

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

    У меня нет папок

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

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

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

    Закрепить чат

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

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

    Организация — это все

    Организация материалов очень важна как в сети, так и вне ее. Надеюсь, последнее обновление Telegram поможет вам организовать общение. Нам нравится, насколько это полезно. Надеемся, что другие приложения скоро последуют этому примеру.

    Вы уже пробовали папки Telegram? Что вы о них думаете? Дайте нам знать в разделе комментариев ниже.

    Как вы, возможно, знаете, Telegram — одно из самых популярных приложений для обмена сообщениями с более чем 200 миллионами активных пользователей, а также одна из лучших альтернатив WhatsApp.

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

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

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

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

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

    Создать папку в Telegram

    • Шаг 1. Просто обновите приложение Telegram до версии 6.0.1 в Play Маркете на своем телефоне.
    • Шаг 2. Теперь откройте приложение Telegram и перейдите в настройки.
    • Шаг 3. На вкладке настроек вы увидите параметр "Папки".
    • Шаг 4. Нажмите на папку, и вы увидите экран, как показано ниже.
    • Шаг 5. Появятся рекомендуемые папки, нажмите «Создать новую папку».
    • Шаг 6. Теперь вы можете назвать свою папку и добавить в нее чаты. Кроме того, функция удаления чатов позволяет удалить чаты, которые вы больше не хотите видеть в своей папке.

    На этом создание папки в Telegram завершено.

    Последний приговор

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

    Поскольку Telegram – это облачный сервис без ограничений, я использую его в качестве дополнительного хранилища резервных копий. Я хотел бы автоматизировать это, чтобы мне не приходилось помнить об этом каждый месяц (за последние два года я пропустил примерно каждое второе ежемесячное резервное копирование).
    Но я не могу найти способ автоматизировать любой клиент Telegram без макросов кликов (я бы хотел, чтобы он работал в фоновом режиме):

    • ./Telegram --help ничего не делает, кроме открытия программы.
    • Мне не удалось определить, куда идет переменная argv из основного метода, поэтому я не знаю, есть ли вообще аргументы консоли.
    • Боты не могут получить доступ к моей файловой системе (и это хорошо).

    Я могу легко автоматизировать упаковку нужных мне файлов в архивы размером 1,5 ГБ с помощью 7z, но я понятия не имею, как их отправлять. Есть ли способ сделать это без макросов кликов?

    Не знаю, так как не знаком с этой программой. Кроме того, мне нужно было бы знать подробности о том, как отправлять пакеты на серверы Telegram. В какой-то момент у меня просто есть собственный клиент. Если бы вы знали, как сделать минималистическую программу для этой или какой бы то ни было вашей идеи, это было бы здорово.

    Обновление: аргументы командной строки теперь официально задокументированы, и действительно, нет возможности сделать это с помощью официального клиента.

    3 ответа 3

    Подготовка

    • Установите tg, как указано в файле readme. У меня это не сработало сразу в Debian из-за ошибки, но, как сказано в этом комментарии к отчету об ошибке, установка libssl1.0-dev является обходным путем для этой ошибки: выполните sudo apt install libssl1.0-dev между ./configure и сделать .
    • Войдите в свою учетную запись Telegram: bin/telegram-cli для запуска интерактивной программы, введите номер телефона (с кодом страны, в моем случае начинающийся с +49 ), введите код входа.
    • Теперь используйте другой клиент Telegram, чтобы отправить сообщение в целевой чат (или получить там сообщение). Это добавит имя чата во внутренний список чатов программы. Если существует несколько чатов с одним и тем же именем, кажется, что выбирается последний добавленный. Я не нашел способ отправить сообщение в чат по ID.
      На этом настройка закончена, quit закрывает программу.

    Программная загрузка файлов

    Теперь файлы можно загружать, дав программе команду send_file с параметром --execute , что заставит ее выполнить эту команду, а затем автоматически завершить работу:

    — это название чата.
    — путь к файлу.
    /path/to/tg должно быть очевидным.

    Пример использования

    Я буду использовать что-то вроде этого, чтобы загрузить резервную копию моей папки Google Диска в Telegram после того, как я создал ее с помощью p7zip:

    Это загрузит все файлы, имена которых начинаются с " drive.zip " (.001, .002 и т. д.) в папке ~/drive_backup в чат Telegram "Backup_chat".

    Читайте также: