From 6b5cff37bfe3dfe56b965aa3e279fa8d250a4946 Mon Sep 17 00:00:00 2001 From: Anton Date: Sun, 31 Dec 2023 17:14:54 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=D1=8B=20=D0=BF=D0=BE?= =?UTF-8?q?=20=D0=92=D0=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/CommonModules/OPI_Telegram/Module.bsl | 39 +++++++++---------- src/CommonModules/OPI_VK/Module.bsl | 47 ++++++++++++----------- src/Configuration/Configuration.mdo | 2 +- 3 files changed, 44 insertions(+), 44 deletions(-) diff --git a/src/CommonModules/OPI_Telegram/Module.bsl b/src/CommonModules/OPI_Telegram/Module.bsl index be90d251e..1a78b4f15 100644 --- a/src/CommonModules/OPI_Telegram/Module.bsl +++ b/src/CommonModules/OPI_Telegram/Module.bsl @@ -276,7 +276,7 @@ //СоответствиеФайлов //Ключ - Файл, Значение - Тип //Типы: audio, document, photo, video - //Нельзя замешивать audio и document вместе с другими типами! + //Нельзя замешивать разные типы! OPI_Инструменты.ЗаменитьСпецсимволы(Текст); @@ -359,8 +359,7 @@ Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + "/sendLocation", Параметры_); Возврат Ответ; - - + КонецФункции // Отправить контакт. @@ -414,7 +413,10 @@ Параметры_.Вставить("chat_id" , IDЧата); Параметры_.Вставить("question" , Вопрос); Параметры_.Вставить("options" , Ответы); - Параметры_.Вставить("is_anonymous" , Анонимный); + + Если Не Анонимный Тогда + Параметры_.Вставить("is_anonymous" , Ложь); + КонецЕсли; Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + "/sendPoll", Параметры_); @@ -693,30 +695,29 @@ // Возвращаемое значение: // Строка - JSON клавиатуры Функция СформироватьКлавиатуруПоМассивуКнопок(Знач МассивКнопок, Знач ПодСообщением = Ложь) Экспорт - - Строки = Новый Массив; - + + Строки = Новый Массив; + Кнопки = Новый Массив; + Для Каждого Кнопка Из МассивКнопок Цикл - Кнопки = Новый Массив; - Кнопка = КодироватьСтроку(OPI_Инструменты.ЧислоВСтроку(Кнопка), СпособКодированияСтроки.КодировкаURL); + Кнопка = OPI_Инструменты.ЧислоВСтроку(Кнопка); Кнопки.Добавить(Новый Структура("text,callback_data", Кнопка, Кнопка)); - Строки.Добавить(Кнопки); - КонецЦикла; - + КонецЦикла; + + Строки.Добавить(Кнопки); Если ПодСообщением Тогда СтруктураПараметра = Новый Структура("inline_keyboard,rows", Строки, 1); Иначе - СтруктураПараметра = Новый Структура("keyboard,resize_keyboard", Строки, Истина) + СтруктураПараметра = Новый Структура("keyboard,resize_keyboard", Строки, Истина); КонецЕсли; - - ЗаписьJSON = Новый ЗаписьJSON; - ЗаписьJSON.УстановитьСтроку( - Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет,,,ЭкранированиеСимволовJSON.СимволыВнеASCII)); - + ЗаписьJSON = Новый ЗаписьJSON; + ПЗJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет, , , ЭкранированиеСимволовJSON.СимволыВнеASCII); + ЗаписьJSON.УстановитьСтроку(ПЗJSON); + ЗаписатьJSON(ЗаписьJSON, СтруктураПараметра); Возврат ЗаписьJSON.Закрыть(); @@ -777,5 +778,3 @@ КонецФункции #КонецОбласти - - diff --git a/src/CommonModules/OPI_VK/Module.bsl b/src/CommonModules/OPI_VK/Module.bsl index daf359967..82b03d179 100644 --- a/src/CommonModules/OPI_VK/Module.bsl +++ b/src/CommonModules/OPI_VK/Module.bsl @@ -155,33 +155,34 @@ Параметры_ = ПолучитьСтандартныеПараметры(Параметры); Ответ = OPI_Инструменты.Get("api.vk.com/method/polls.getPhotoUploadServer", Параметры_); - URL = Ответ["response"]["upload_url"]; + URL = Ответ["response"]["upload_url"]; + IDФото = ""; Параметры_.Вставить("upload_url", URL); Если Не Картинка = "" Тогда - Если ТипЗнч(Картинка) = Тип("Строка") Тогда - Путь = Картинка; - Картинка = Новый ДвоичныеДанные(Картинка); - Иначе - //@skip-check missing-temporary-file-deletion - Путь = ПолучитьИмяВременногоФайла("jpeg"); - КонецЕсли; - - Файлы = Новый Соответствие; - Файлы.Вставить(Путь, Картинка); - - КонецЕсли; - - Ответ = OPI_Инструменты.Post(URL, Параметры_, Файлы); - - Параметры_.Вставить("hash" , Ответ["hash"]); - Параметры_.Вставить("photo" , Ответ["photo"]); - - Ответ = OPI_Инструменты.Get("api.vk.com/method/polls.savePhoto", Параметры_); - ОтветСоответствие = Ответ.Получить("response")["id"]; - + Если ТипЗнч(Картинка) = Тип("Строка") Тогда + Путь = Картинка; + Картинка = Новый ДвоичныеДанные(Картинка); + Иначе + //@skip-check missing-temporary-file-deletion + Путь = ПолучитьИмяВременногоФайла("jpeg"); + КонецЕсли; + + Файлы = Новый Соответствие; + Файлы.Вставить(Путь, Картинка); + + Ответ = OPI_Инструменты.Post(URL, Параметры_, Файлы); + + Параметры_.Вставить("hash" , Ответ["hash"]); + Параметры_.Вставить("photo" , Ответ["photo"]); + + Ответ = OPI_Инструменты.Get("api.vk.com/method/polls.savePhoto", Параметры_); + IDФото = Ответ.Получить("response")["id"]; + + КонецЕсли; + Параметры_.Вставить("is_anonymous" , 1); Параметры_.Вставить("is_multiple" , 0); @@ -203,7 +204,7 @@ Ответы = Ответы + "]"; Параметры_.Вставить("add_answers" , Ответы); - Параметры_.Вставить("photo_id" , OPI_Инструменты.ЧислоВСтроку(ОтветСоответствие)); + Параметры_.Вставить("photo_id" , OPI_Инструменты.ЧислоВСтроку(IDФото)); Параметры_.Вставить("question" , Вопрос); Опрос = OPI_Инструменты.Get("api.vk.com/method/polls.create", Параметры_); diff --git a/src/Configuration/Configuration.mdo b/src/Configuration/Configuration.mdo index 7a1706410..a8d44ef7b 100644 --- a/src/Configuration/Configuration.mdo +++ b/src/Configuration/Configuration.mdo @@ -8,7 +8,7 @@ - 8.3.9 + 8.3.18 ManagedApplication PersonalComputer Russian