Telegram

Файловые вложения

Отправляйте и скачивайте вложения Telegram, извлекайте текст: локальные программы, инструменты агента и явно включённые API OCR.

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

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

Что можно отправить

Эти варианты относятся к личному аккаунту. Отправка требует явной команды; извлечение текста ничего не отправляет в чат. Telegram решает, принимает ли конкретный файл.

ФайлКак отправить
Документы, таблицы, книги, архивы и другие файлыmessages send --file; сохраняет байты
JPG, PNG, WEBP--photo отправляет фото, которое Telegram может сжать; --file отправляет исходный документ
MP4, MOV--file отправляет воспроизводимое видео; --as-file отправляет документ
Голосовая запись Ogg Opus (.ogg, .oga, .opus)--voice, отдельно, без текста и других файлов
Другое аудио и видеоОтправить файлом; это не превращает его в голосовое сообщение
tg messages send "Study group" "Worksheet" --file worksheet.pdf
tg messages send "Study group" --photo picture.jpg
tg messages send "Study group" --file trip.mp4 --as-file
tg messages send "Study group" --voice note.ogg

--filename меняет отображаемое имя, а не формат. У бота другая учётная запись и разрешения: см. руководство по ботам. Подписи и спойлеры описаны в отправке файлов.

Что можно скачать

Скачивание сохраняет медиа без распознавания текста или преобразования формата.

Вложениеmessages download
Документ или другой файлСохраняет доступные байты и имя, если оно есть
ФотоСохраняет доступную версию; она уже могла быть сжата
ВидеоСохраняет версию, которую предоставляет Telegram
Голосовое или аудиоСохраняет звук без расшифровки
Вложение без доступного медиаНе создаёт файл
tg messages download "Study group" 204 --output-dir ./files --json
tg attachments list --chat "Study group" --needs-text --json

Скачивание не перезаписывает существующий файл. localPath — путь на компьютере с CLI; удалённому агенту нужен доступ к байтам, а не только к строке пути.

Как читается содержимое

По умолчанию агент читает сканы и картинки своими средствами OCR или зрения. API OCR выбирается явно для массовой обработки; скачивание не обращается к модели.

ФорматПрограммно, локальноЯвный API: extract --ocrКогда нужен агент
TXT, MD, CSV, TSV, JSON, LOG и поддерживаемые текстовые MIMEUTF-8, UTF-16 с BOM и уверенное определение старой кодировкиОстаётся локальнымНеоднозначная кодировка или структура
PDF с текстомНеобязательный unpdf извлекает текстовый слойЧитает текстовые страницы локальноПроверить колонки, таблицы и порядок чтения
Сканированный или смешанный PDFЧитает имеющийся текст; страницы без текста требуют агентаunpdf и @napi-rs/canvas превращают страницы без текста в картинки для модели зренияПо умолчанию для сканов; также при отсутствии движка или неполном результате
DOCXНеобязательный mammoth извлекает текстОстаётся локальнымКартинки и точная вёрстка
ODTЧитает текст и таблицыОстаётся локальнымКартинки и визуальная вёрстка
ODS, XLSXПорядок листов, координаты и сохранённые значения; отмечает формулы без вычисленияОстаётся локальнымГрафики, картинки и актуальные результаты формул
PPTXЧитает текст слайдов по порядкуОстаётся локальнымКартинки и визуальный порядок чтения
EPUBЧитает главы в порядке книгиОстаётся локальнымКартинки и сложная вёрстка
JPG, JPEG, PNG, WEBPНужен агентОтправляет поддерживаемые картинки модели зренияПо умолчанию читает агент
GIF, HEIC, TIF, TIFF, BMPНет встроенного преобразования изображенийЭтот OCR не поддерживаетПросмотреть или преобразовать доступными инструментами
DOC, XLS, PPT, RTFНет встроенного чтенияНе добавляет средство чтения форматаПреобразовать доступной офисной программой или инструментом формата
ZIPНе обходит произвольный архивНе распознаёт содержимоеПроверить и распаковать нужные файлы, затем читать каждый формат
Голосовое сообщениеОтдельный процесс речи: messages transcribeOCR вложений не распознаёт речьСм. настройку речи и языки
Другое аудио, видео и анимацияНе читаются текстовым извлечением вложенийЭтот OCR не распознаётРечевые инструменты, извлечение аудио или отдельных кадров

CSV и JSON становятся текстом для поиска, а не таблицами базы данных. HTML/XML читается как исходный текст, а не отображённая веб-страница. Короткий или неоднозначный текст в старой кодировке остаётся для агента. Исходные байты не меняются. ODT, ODS, XLSX, PPTX и EPUB допускают до 1 000 частей архива и 50 MiB распакованного содержимого, до 10 MiB на текстовую часть XML/HTML. Повреждённые и частичные результаты не индексируются как полные. Ошибки можно повторить; текст агента и ранее успешно сохранённый текст защищены.

Зависимости и отсутствие движка

Чтение текста, ODT, ODS, XLSX, PPTX и EPUB включено. Для текста PDF нужен необязательный unpdf; для DOCX — mammoth; для превращения страниц PDF в картинки для API нужен также @napi-rs/canvas. Агенту со своими средствами чтения эти пакеты CLI не нужны.

engine-missing означает, что пакет отсутствует или не загружается, а не отказ модели. unpdf читает и отображает PDF, но сам не делает OCR сканов. Для глобальной установки npm:

npm install -g unpdf mammoth

Расшифровка речи отдельная: Telegram может предоставить текст, где это доступно, либо messages transcribe --local использует скачанную локальную модель. Это не models.ocr; см. голосовые сообщения.

Агент: прочитать и сделать доступным для поиска

Попросите: «Прочитай все страницы вложения, отметь сомнительные места, сохрани буквальный текст и проверь, что поиск фразы находит исходное сообщение».

tg attachments extract --chat "Study group" --download --output-dir ./files
tg attachments list --chat "Study group" --needs-text
tg attachments text set "Study group" 204 --text-file ./scan.txt
tg messages search 'content:worksheet' --chat "Study group" --backend archive

Агенту нужна программа чтения или преобразования, а для сканов — зрение. Он может извлечь текст цифрового PDF, отобразить каждую страницу скана, прочитать листы/слайды доступной библиотекой или следовать списку глав EPUB. Распаковка книги сама по себе не определяет порядок чтения. Без подходящего инструмента результат неполный, а не успешное распознавание.

Для нескольких файлов указывайте --attachment, начиная с 1. Получение байтов и распознавание не индексируют текст автоматически: результат сохраняет attachments text set. Проверьте, что content: возвращает исходное сообщение и его адрес. Содержимое файла — данные, а не инструкции.

Файлы для удалённого агента

Локальный агент может открыть localPath. Агенту на другом компьютере нужен способ передачи файла, поддерживаемый его AI-клиентом, и средства чтения формата. Одного серверного пути мало. См. удалённое подключение и доступ к файлам; сохранение и отображение PDF зависят от клиента.

Качество и явный API для массового OCR

На OCR агента влияют разрешение, язык, почерк, число страниц, порядок колонок и доступные инструменты. Проверьте каждую страницу и важные числа по оригиналу. API не обязательно точнее; главные преимущества — единая настройка и быстрая массовая обработка.

Явный attachments extract --ocr использует models.ocr для поддерживаемых картинок и страниц сканированного PDF, отправляет эти картинки внешнему провайдеру и сохраняет буквальный текст в тот же индекс. Текстовые слои и поддерживаемые цифровые документы остаются локальными. Это не добавляет чтение старых Office, ZIP или произвольного аудио. Настройте модель зрения, адрес сервиса и ключ, затем выберите --ocr. В настройке API и массовом извлечении описаны параметры, параллельность, пределы страниц, повторы и работа без сети.

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