1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-04-09 07:14:16 +02:00

TG: Фикс клавиатуры при отправке файлов

This commit is contained in:
Anton Titovets 2025-02-28 20:44:53 +03:00
parent 8a89f9a941
commit b37cd75a4a
2 changed files with 51 additions and 15 deletions

View File

@ -1183,12 +1183,24 @@
Функция ЭтоПримитивныйТип(Знач Значение) Экспорт
Возврат ТипЗнч(Значение) = Тип("Строка")
Или ТипЗнч(Значение) = Тип("Число")
Или ТипЗнч(Значение) = Тип("Булево");
ТипЗначения = ТипЗнч(Значение);
Возврат ТипЗначения = Тип("Строка")
Или ТипЗначения = Тип("Число")
Или ТипЗначения = Тип("Булево");
КонецФункции
Функция ЭтоКоллекция(Знач Значение, Знач КлючЗначение = Ложь) Экспорт
ТипЗначения = ТипЗнч(Значение);
Возврат (ТипЗначения = Тип("Массив") И Не КлючЗначение)
Или ТипЗначения = Тип("Структура")
Или ТипЗначения = Тип("Соответствие");
КонецФункции
#КонецОбласти
#КонецОбласти
@ -1233,24 +1245,33 @@
Если Параметр.Значение = Неопределено Или Параметр.Значение = Null Тогда
Продолжить;
КонецЕсли;
ТекущееЗначение = Параметр.Значение;
ТекущийКлюч = Параметр.Ключ;
ТипЗначения = ТипЗнч(ТекущееЗначение);
ЗаписьТекста.ЗаписатьСтроку("--" + boundary + РазделительСтрок);
ЗаписьТекста.ЗаписатьСтроку("Content-Disposition: form-data; name=""" + Параметр.Ключ + """");
ЗаписьТекста.ЗаписатьСтроку("Content-Disposition: form-data; name=""" + ТекущийКлюч + """");
ЗаписьТекста.ЗаписатьСтроку(РазделительСтрок);
ЗаписьТекста.ЗаписатьСтроку(РазделительСтрок);
Если ТипЗнч(Параметр.Значение) = Тип("Строка") Или ТипЗнч(Параметр.Значение) = Тип("Число") Тогда
Если ТипЗначения = Тип("Строка") Или ТипЗначения = Тип("Число") Тогда
ЗначениеСтрокой = ЧислоВСтроку(Параметр.Значение);
ЗначениеСтрокой = ЧислоВСтроку(ТекущееЗначение);
ЗаписьТекста.ЗаписатьСтроку(ЗначениеСтрокой);
ИначеЕсли ТипЗнч(Параметр.Значение) = Тип("Булево") Тогда
ЗаписьТекста.ЗаписатьСтроку(?(Параметр.Значение, "true", "false"));
ИначеЕсли ТипЗначения = Тип("Булево") Тогда
ЗаписьТекста.ЗаписатьСтроку(?(ТекущееЗначение, "true", "false"));
ИначеЕсли ЭтоКоллекция(ТекущееЗначение) Тогда
ЗначениеСтрокой = JSONСтрокой(ТекущееЗначение);
ЗаписьТекста.ЗаписатьСтроку(ЗначениеСтрокой);
Иначе
ЗаписьТекста.Записать(Параметр.Значение);
ЗаписьТекста.Записать(ТекущееЗначение);
КонецЕсли;

View File

@ -2607,18 +2607,33 @@
Результат = OPI_Telegram.ОтправитьКартинку(Токен, IDКанала, Текст, КартинкаПуть);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку (Путь)");
OPI_ПолучениеДанныхТестов.Проверка_ТелеграмКартинка(Результат, Текст); // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку (Путь)"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_ТелеграмКартинка(Результат, Текст); // SKIP
Результат = OPI_Telegram.ОтправитьКартинку(Токен, IDКанала, Текст, КартинкаДД);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку (ДД)");
OPI_ПолучениеДанныхТестов.Проверка_ТелеграмКартинка(Результат, Текст);
МассивКнопок = Новый Массив;
МассивКнопок.Добавить("Кнопка1");
МассивКнопок.Добавить("Кнопка2");
МассивКнопок.Добавить("Кнопка3");
Клавиатура = OPI_Telegram.СформироватьКлавиатуруПоМассивуКнопок(МассивКнопок, Истина);
Результат = OPI_Telegram.ОтправитьКартинку(Токен, IDЧата, Текст, Картинка, Клавиатура);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку (клавиатура)", "Telegram");
OPI_ПолучениеДанныхТестов.Проверка_ТелеграмКартинка(Результат, Текст);
Клавиатура = OPI_Инструменты.JsonВСтруктуру(Клавиатура);
Результат = OPI_Telegram.ОтправитьКартинку(Токен, IDКанала, Текст, Картинка, Клавиатура);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку (клавиатура, коллекция)", "Telegram");
OPI_ПолучениеДанныхТестов.Проверка_ТелеграмКартинка(Результат, Текст);
УдалитьФайлы(КартинкаПуть);
IDФайла = Результат["result"]["photo"][0]["file_id"];