Файловые вложения
Отправляйте и скачивайте вложения Telegram, извлекайте текст: локальные программы, инструменты агента и явно включённые API OCR.
Если нужно отправить документ, скачать вложение или найти текст внутри файла, начните здесь. Вы узнаете, какие форматы CLI читает автоматически, когда нужен агент или внешняя модель и как сохранить извлечённый текст, чтобы поиск находил исходное сообщение.
Отправка передаёт файл в чат, скачивание сохраняет байты, распознавание читает содержимое. Скачанный скан ещё требует OCR. Цифровой документ часто можно прочитать локально без модели.
Что можно отправить
Эти варианты относятся к личному аккаунту. Отправка требует явной команды; извлечение текста ничего не отправляет в чат. Telegram решает, принимает ли конкретный файл.
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 меняет отображаемое имя, а не формат. У бота другая учётная запись и разрешения:
см. руководство по ботам. Подписи и спойлеры описаны в
отправке файлов.
Что можно скачать
Скачивание сохраняет медиа без распознавания текста или преобразования формата.
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 и поддерживаемые текстовые MIME | UTF-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 transcribe | OCR вложений не распознаёт речь | См. настройку речи и языки |
| Другое аудио, видео и анимация | Не читаются текстовым извлечением вложений | Этот 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 и массовом извлечении
описаны параметры, параллельность, пределы страниц, повторы и работа без сети.
Проверьте фразу из файла и откройте найденное сообщение. Затем используйте поиск по содержимому вложений, чтобы найти его снова.