iMakeBots, подскажи plz решение.
Пытаюсь отправить методом sendDocument с превью. https://i.postimg.cc/kGb7fRNK/image.png
Бьюсь уже какой день.
Как вот сюда свое изображение вставить?
$postContent = [
'chat_id' => $chat_id,
'document' => "$fileID",
];
$postContent['thunb'] = new CURLFile($thumb);
botApiQuery('sendDocument', $postContent);
echo json_encode($postContent);
function botApiQuery($method, $postContent)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://api.telegram.org/bot" . $GLOBALS['token'] . "/" . $method);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postContent);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: multipart/form-data']);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}
Json вот такой
{
"chat_id": "-xxxxxxx",
"document": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"thunb": {
"name": "https://telegra.ph/file/xxxxxxxxxxxxxxxxx.jpg",
"mime": "",
"postname": ""
}
}
thumb необходимо вместо thunb
В доках про attach:// написано
На канале https://t.me/shieldstorage реализовано, я json смотрел, там как-то получается thumb внутри document ещё две фигурные скобки имеет.
json с канала
Файл отправляет, а thumb нет.
iMakeBots, спасибо, без тебя долго бы тупил.
Отправляет только 'document' => new CURLFile($fileID) по ссылке, а по file_id не хочет.
Можешь что-то посоветовать?
---
Сейчас не у компьютера, протестить нет возможности, но исходя из доков: Thumbnails can't be reused and can be only uploaded as a new file (Превьюшку можно направить только новым файлом)
---
По Document через file_id:
new CURLFile() - принимает путь по которому он возьмет файл и подготовите его к отправке, file_id - это просто строка, поэтому передай ее 'document' => $fileID
Если файл оправлять через new CURLFile(), то превью появляется, а если файл оправлять по ID ('document' =>$fileID,) то превью нет.
Вот такие вот странности)
Я хочу сказать что имея ID ранее загруженного файла не получается добавить к нему превью не по id а по ссылке.
Поясню: у меня в базе имеется куча ранее загруженных архивов, которые выдаются пользователю по запросу.
Моя задача стилизовать стандартные иконки красивыми превью.
Как вариант
Кеширут даже скорее клиент, а не телега.
Посмотрел на телефоне Thumbnails присутствуют.
Ещё раз спасибо тебе.
Посмотри plz код (токен рабочий, канал https://t.me/r2d2testtest)
не добавляет превью
добавляет