Telegram bot как отправить фото как документ

от admin

Как отправить файл с помощью бота в телеграм

Файл я отправлять умею, но есть проблемка. Когда бот отправляет файл он указывает не коренное название файла, а «document» это не удобно. Знаю, что такой вопрос уже задавался, но способ с filename=»file.doc» у меня не работает Код:

Попробуйте передавать объект файла прямо внутри метода send_document . У меня следующий код отлично работает и присылает документ именно с таким именем, с каким он хранится в системе:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками python-3.x telegram-bot telegram telebot или задайте свой вопрос.

Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2022.8.30.42948

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Telegram BOT Api: как отправить фото с помощью PHP?

Для команды sendPhoto требуется аргумент photo , определенный как InputFile or String .

Документ API сообщает:

Итак, я попробовал этот метод

Завитки выполнены, но Telegram мне ответил:

Я также попытался заменить @/path. на file_get_contents , но в этом случае Telegram дал мне пустой ответ (а curl_error пуст!).

Как отправить фотографию в Telegram с помощью php + curl?

6 ответов

Это мое рабочее решение, но для него требуется PHP 5.5:

Это плохая идея, но вы можете использовать такие:

Я много искал в Интернете, но не нашел ответа. Но ваш вопрос решил мою проблему . Я просто изменил ваш код, и он ответил на него за меня . Я изменил ваш код на это:

Мне очень помогает этот код, который я получил с веб-сайта php.net здесь

Я просто меняю заголовки в этом коде, чтобы бот телеграммы отправлял изображение, просто скопируйте эту функцию

Читать:
Почему перестало работать приложение telegram

Простая попытка: теперь просто используйте этот код, отправив имя фотографии с путем и идентификатором чата. вот как: —

Для отправки png или других методов измените функцию curl_custom по своему усмотрению.

Отправка файла с сервера себе в Telegram

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

Мне очень часто приходится выдергивать какие-нибудь файлы с серверов (своих и клиентских) и передавать дальше через телеграм. Например дампы тестовых БД, docker-compose файлы и многое другое. Долгое время я качал файлы через winscp и перекладывал в телеграм кому надо. Но когда файл большой это неудобно — пока скачаешь, пока закинешь.

Небольшая история

С клиентом покупали https сертификат ему на проект и надо было передавать с сервера csr файл, для последующей его обработки. Сервер находится за vpn, ходить напрямую через WinSCP было неудобно и лень. И я решил попробовать отправить файл через телеграм сам себе. Сработало:)

Также, пару месяцев назад я таким образом передавал дамп тестовой базы данных новому разработчику и понял что способ реально рабочий и начал пользоваться им регулярно. Я даже сначала начал писать бинарник на Go, но на полпути понял, что вопрос решается простым BASH скриптом на 5 строк с использованием curl. Сам скрипт можно увидеть ниже.

Сам скрипт

Для его работы вам необходимо указать свой Bot Token и Chat Id, куда отправлять сам файл. На этом все:)

Похожие статьи