Отправка по curl в телеграм — curl telegram-api telegram

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Загрузка...

Вопрос:


В телеграм появилась возможность отправки альбомов. Несколько фотографий отправляются как один альбом.
Как отправить от 2 до 10 фото посредством curl в телеграм чат?

Обширная, нет не так, Громадная документация api telegram гласит:

media   Array of InputMedia     Yes     A JSON-serialized array describing photos and videos to be sent, must include 2–10 items

Все дальше сами, куда и как слать сами разберетесь, ни одного примера нет.
Нагуглил один единственный пример на весь интернет для отправки :

 curl -s 
  -X POST 
  https://api.telegram.org/botKEY/sendMediaGroup
  -F chat_id=576567test 
  -F media='[{"type":"photo","media":"/home/user/my.jpeg"},{"type":"photo","media":"/home/user/my2.jpeg"}]' 
  | jq .

Не помогло выходит 400 ошибка Bad Request: URL host is empty. Указание @ перед путями файлов тоже не помогло. Если вместо sendMediaGroup написать sendPhoto тоже не работает.

Подскажите как правильно по curl отправлять альбомы фоток в чаты телеграм?

Автор вопроса: Low-voltage systems engineer

Документация гласит:

Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a file from the Internet, or pass “attach://” to upload a new one using multipart/form-data under name.

нужно добавить attach://

Проверил, работает:

#!/bin/bash

TOKEN="687895627:AAEjuHWsNu8chKxLm94VOoYRmyBmue5RKi8"
CHAT_ID="38762912"

file1='/var/www/html/img/bb-lowsize-comp.png'
file2='/var/www/html/img/saw1.jpg'

image1="attach://"$(basename $file1)
image2="attach://"$(basename $file2)

curl -s -X POST -F media='[{"type":"photo","media":"'$image1'"},    {"type":"photo","media":"'$image2'"}]' 
    -F "$(basename $file1)[email protected]${file1}" -F "$(basename $file2)[email protected]${file2}" -H "Content-Type:multipart/form-data" 
    "https://api.telegram.org/bot$TOKEN/sendMediaGroup?chat_id=$CHAT_ID"

Источник

Вам также может быть интересно:

Drag and Drop UWP — c# xaml mvvm
Вопрос: Нужно иметь возможность добавлять изображения в приложение путем перетаскивания из файловой системы У Grid включил AllowDrop. Но как добавить перетаскиваемые изображения в коллекцию? Т.к. те ...
Растягивание Высоты , Резина — html css html5
Вопрос: Здравствуйте! Реализовал резиновый дизайн. Растягивается ширина, но длина по % не растягивается. Возможно ли это реализовать? Или так и задумано, растягивание только на ширину ...
Jquery position().left Как быть на мобильниках? — javascript jquery css
Вопрос: На мобильных устройствах, если зумишь экран, position всегда разный. $('g').position().left Как сделать так, чтобы он не менял свои значения? Автор вопроса: ...
Jquery position().left Как быть на мобильниках? — javascript jquery css
Вопрос: На мобильных устройствах, если зумишь экран, position всегда разный. $('g').position().left Как сделать так, чтобы он не менял свои значения? Автор вопроса: ...
requestAnimation и очередность отрисовки — javascript canvas
Вопрос: Здравствуйте! Реализовал 2D игру и в Edge работает все плавно и круто, но в Firefox'e подвисает, сказали, что нужно сделать, чтобы раз-два момент и все ...
Контекстное/всплывающее меню в Android — java android popup
Вопрос: Есть ли техническая возможность сделать приложение, добавляющее свое контекстное или всплывающее меню в любом месте системы? Хочу, чтобы при выделении любого текста появлялась дополнительная кнопка ...
Контекстное/всплывающее меню в Android — java android popup
Вопрос: Есть ли техническая возможность сделать приложение, добавляющее свое контекстное или всплывающее меню в любом месте системы? Хочу, чтобы при выделении любого текста появлялась дополнительная кнопка ...
Завершить службы циклом — c# windows-service
Вопрос: Можно ли остановить службы циклом? У меня есть список служб, занёс их в List List<string> name = new List<string> { "AdobeARMservice", "RemoteRegistry", "TermService", "Messenger", "SSDPSRV", ...
Завершить службы циклом — c# windows-service
Вопрос: Можно ли остановить службы циклом? У меня есть список служб, занёс их в List List<string> name = new List<string> { "AdobeARMservice", "RemoteRegistry", "TermService", "Messenger", "SSDPSRV", ...
RecyclerView — разная разметка — android recyclerview
Вопрос: Смотрел, я смотрел в сторону RecyclerView и наконец решил кинуть ListView и на тебе! В "плохом прошлом" мой ListView использовался для двух разметок. Сейчас я ...
RecyclerView — разная разметка — android recyclerview
Вопрос: Смотрел, я смотрел в сторону RecyclerView и наконец решил кинуть ListView и на тебе! В "плохом прошлом" мой ListView использовался для двух разметок. Сейчас я ...
Как правильно передать массив аргументом для пользовательской функции — php
Вопрос: Если не брать в функцию все это, тогда результат работает. А если вот так в функции все выполнять, тогда PHP ругается: «Invalid ...
Как правильно передать массив аргументом для пользовательской функции — php
Вопрос: Если не брать в функцию все это, тогда результат работает. А если вот так в функции все выполнять, тогда PHP ругается: «Invalid ...
ViewPager внутри ViewPager — такие матрешки работают? — android viewpager
Вопрос: Доброго времени суток. Назрела новая задача. Есть каталог мастеров. При выборе конкретного мастера открывается его страница (активити с ViewPager), и теперь мастеров можно перелистывать свайпом. ...
Почему id всегда 1 Yii2 — yii авторизация
Вопрос: Использую все как по документации. Для получения информации о пользователе использую $identity = $model->findOne(]); И каким бы не был email, id пользователя всегда ...

Оставьте ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *