You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2026-05-18 09:51:28 +02:00
Доработка расширенного вызова
This commit is contained in:
@@ -172,8 +172,10 @@
|
||||
|
||||
Параметры = Новый Структура("file_id", IDФайла);
|
||||
|
||||
URL = "api.telegram.org/bot" + Токен + "/getFile";
|
||||
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры);
|
||||
URL = СтрШаблон("api.telegram.org/bot%1/getFile", Токен);
|
||||
|
||||
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры);
|
||||
OPI_РасширенныйВызов.НормализоватьПромежуточныйРезультат(Ответ);
|
||||
|
||||
Путь = Ответ[Result]["file_path"];
|
||||
|
||||
@@ -202,7 +204,7 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
URL = "api.telegram.org/file/bot" + Токен + "/" + Путь;
|
||||
URL = СтрШаблон("api.telegram.org/file/bot%1/%2", Токен, Путь);
|
||||
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
МассивОписания.Добавить(СтрШаблон("%1: %2", Настройка.Ключ, Настройка.Значение));
|
||||
КонецЦикла;
|
||||
|
||||
Возврат СтрСоединить(МассивОписания);
|
||||
Возврат СтрСоединить(МассивОписания, Символы.ПС);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -167,11 +167,11 @@
|
||||
|
||||
Если ЗначениеЗаполнено(АдресХранилища) Тогда
|
||||
ПоместитьВоВременноеХранилище(Результат, АдресХранилища);
|
||||
Иначе
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьТекущиеНастройки() Экспорт
|
||||
@@ -229,6 +229,19 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура НормализоватьПромежуточныйРезультат(Результат) Экспорт
|
||||
|
||||
НормализованныйРезультат = Неопределено;
|
||||
|
||||
Если OPI_Инструменты.ПолучитьИли(ПолучитьТекущиеНастройки(), "adv_response", Ложь)
|
||||
И OPI_Инструменты.ПолеКоллекцииСуществует(Результат, "body", НормализованныйРезультат) Тогда
|
||||
|
||||
Результат = НормализованныйРезультат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УдалитьНастройки() Экспорт
|
||||
|
||||
//@skip-check module-unused-local-variable
|
||||
|
||||
@@ -1382,26 +1382,51 @@
|
||||
КонецФункции
|
||||
|
||||
Функция Проверка_Core_ВызовВФЗ(Знач Результат, Знач Вариант)
|
||||
|
||||
|
||||
ЭтоOneScript = OPI_Инструменты.ЭтоOneScript();
|
||||
ФоновоеЗадание = Результат["ФоновоеЗадание"];
|
||||
|
||||
Счетчик = 0;
|
||||
|
||||
Пока ФоновоеЗадание.Состояние = СостояниеФоновогоЗадания.Активно Цикл
|
||||
Попытка
|
||||
ФоновоеЗадание.ОжидатьЗавершения();
|
||||
Исключение
|
||||
|
||||
OPI_Инструменты.Пауза(5);
|
||||
|
||||
Если Счетчик = 10 Тогда
|
||||
ВызватьИсключение "Too long";
|
||||
Иначе
|
||||
Счетчик = Счетчик + 1;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
ВызватьИсключение ПодробноеПредставлениеОшибки(?(ЭтоOneScript
|
||||
, ФоновоеЗадание.ИнформацияОбОшибке
|
||||
, ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ФоновоеЗадание.УникальныйИдентификатор).ИнформацияОбОшибке));
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
Если Не ЭтоOneScript Тогда
|
||||
ФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ФоновоеЗадание.УникальныйИдентификатор);
|
||||
КонецЕсли;
|
||||
|
||||
ОжидаетЧто(ФоновоеЗадание.Состояние).Равно(СостояниеФоновогоЗадания.Завершено);
|
||||
|
||||
ДанныеРезультата = ПолучитьИзВременногоХранилища(Результат["Адрес"]);
|
||||
Если ЭтоOneScript Тогда
|
||||
ДанныеРезультата = ФоновоеЗадание.Результат;
|
||||
Иначе
|
||||
ДанныеРезультата = ПолучитьИзВременногоХранилища(Результат["Адрес"]);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(Вариант) Тогда
|
||||
|
||||
ОжидаетЧто(ДанныеРезультата.Свойство("status")).Равно(Истина);
|
||||
ОжидаетЧто(ДанныеРезультата.Свойство("headers")).Равно(Истина);
|
||||
ОжидаетЧто(ДанныеРезультата.Свойство("body")).Равно(Истина);
|
||||
|
||||
ИначеЕсли Вариант = "ВозвратДД" Тогда
|
||||
|
||||
ОжидаетЧто(ТипЗнч(ДанныеРезультата)).Равно(Тип("ДвоичныеДанные"));
|
||||
|
||||
ИначеЕсли Вариант = "ВозвратДДСтруктура" Тогда
|
||||
|
||||
ОжидаетЧто(ДанныеРезультата.Свойство("status")).Равно(Истина);
|
||||
ОжидаетЧто(ДанныеРезультата.Свойство("headers")).Равно(Истина);
|
||||
ОжидаетЧто(ТипЗнч(ДанныеРезультата["body"])).Равно(Тип("ДвоичныеДанные"));
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
|
||||
+29
-3
@@ -107,6 +107,7 @@
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_FileID", ПараметрыТеста);
|
||||
|
||||
РасширенныйВызов_ВызватьСНастройками(ПараметрыТеста);
|
||||
РасширенныйВызов_ПолучитьДоступныеНастройки();
|
||||
@@ -150,7 +151,8 @@
|
||||
|
||||
Процедура РасширенныйВызов_ВызовВФЗ(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Telegram_Token"];
|
||||
Токен = ПараметрыФункции["Telegram_Token"];
|
||||
IDФайла = ПараметрыФункции["Telegram_FileID"];
|
||||
|
||||
Параметры = Новый Массив;
|
||||
Параметры.Добавить(Токен);
|
||||
@@ -164,8 +166,32 @@
|
||||
, Параметры
|
||||
, Настройки);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Core", "ВызовВФЗ");
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Core", "ВызовВФЗ");
|
||||
|
||||
Параметры = Новый Массив;
|
||||
Параметры.Добавить(Токен);
|
||||
Параметры.Добавить(IDФайла);
|
||||
|
||||
Настройки = Новый Структура("dontwait", Истина);
|
||||
|
||||
Результат = OPI_РасширенныйВызов.ВызватьСНастройками("OPI_Telegram"
|
||||
, "СкачатьФайл"
|
||||
, Параметры
|
||||
, Настройки);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Core", "ВызовВФЗ", "ВозвратДД");
|
||||
|
||||
Настройки = Новый Структура("adv_response, dontwait"
|
||||
, Истина
|
||||
, Истина);
|
||||
|
||||
Результат = OPI_РасширенныйВызов.ВызватьСНастройками("OPI_Telegram"
|
||||
, "СкачатьФайл"
|
||||
, Параметры
|
||||
, Настройки);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Core", "ВызовВФЗ", "ВозвратДДСтруктура");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
Reference in New Issue
Block a user