Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
11 дек 2024, 21:31

Отправка картинки в Telegram

Автор Вадим Иванцив, 10 ноя 2020, 19:02

0 Пользователей и 1 гость просматривают эту тему.

Вадим Иванцив

Простая задача: отправка картинки через бота. Пишу такой код:
Токен = текПараметрыСеанса.Токен;
СерверTg = текПараметрыСеанса.Сервер;

ИмяФайла = ПолучитьИмяВременногоФайла("jpg");

мТекущееОсновноеИзображение.Записать(ИмяФайла);

ФайлСФото = Новый Файл(ИмяФайла);

СтрокаСоединения = "bot" + Токен + "/sendPhoto?chat_id=" + СтрЗаменить(Формат(chat_id, "ЧДЦ=0; ЧС=; ЧРГ=.; ЧГ=0"), ".", "") + "&photo=" + ФайлСФото.Имя;

HTTPЗапрос = Новый HTTPЗапрос;
Заголовки = Новый Соответствие;

HTTPЗапрос.Заголовки.Вставить("Connection", "keep-alive");
HTTPЗапрос.Заголовки.Вставить("Content-Type", "multipart/form-data");

HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайла);
HTTPЗапрос.АдресРесурса = СтрокаСоединения;

HTTPСоединение = Новый HTTPСоединение(СерверTg,443,,,,,Новый ЗащищенноеСоединениеOpenSSL());

Попытка
Ответ = HTTPСоединение.Получить(HTTPЗапрос);

КодСостояния     = Ответ.КодСостояния;
СтрокаОтвета     = Ответ.ПолучитьТелоКакСтроку();


Если КодСостояния=200 тогда
ЧтениеОтвета = Новый ЧтениеJSON;
ЧтениеОтвета.УстановитьСтроку(СтрокаОтвета);
РезультатСтруктура = ПрочитатьJSON(ЧтениеОтвета);
Если РезультатСтруктура.ok = Истина Тогда
СтруктураMessage = РезультатСтруктура.result;
КонецЕсли;
Иначе
Сообщить("КодСостояния "+КодСостояния);
Сообщить(СтрокаОтвета);
КонецЕсли;
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;

но постоянно валится 400 ошибка. Например такая: {"ok":false,"error_code":400,"description":"Bad Request: wrong HTTP URL specified"}
При этом обмен сообщениями, контактами и создание собственных клавиатур проходит нормально. В чём ошибка, как отправлять фото?

Вадим Иванцив

Неужели никто не отправлял картинок в Телеграм?

KuHoMaH


Теги:

Похожие темы (4)

Рейтинг@Mail.ru

Поиск