mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-01-18 05:18:06 +02:00
Рефакторинг Viber
This commit is contained in:
parent
80b44f96a3
commit
2f0087b133
@ -94,9 +94,7 @@
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
||||
|
||||
ЕстьБлоки = ЗначениеЗаполнено(МассивБлоков);
|
||||
ЕстьДата = ЗначениеЗаполнено(ДатаОтправки);
|
||||
|
||||
ЕстьДата = ЗначениеЗаполнено(ДатаОтправки);
|
||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
@ -121,6 +119,18 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Изменить сообщение
|
||||
// Изменяет состав существующего сообщения
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен бота - token
|
||||
// Канал - Строка - Идентификатор канала - channel
|
||||
// Отметка - Строка - Временная отметка сообщения - stamp
|
||||
// Текст - Строка - Новый текст сообщения - text
|
||||
// МассивБлоков - Массив Из Структура - Массив описаний блоков - blocks - JSON массива описаний блоков
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Slack
|
||||
Функция ИзменитьСообщение(Знач Токен, Знач Канал, Знач Отметка, Знач Текст = "", Знач МассивБлоков = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
||||
@ -177,6 +187,15 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить список отложенных сообщений
|
||||
// Получает список отложенных сообщений канала
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен бота - token
|
||||
// Канал - Строка - Идентификатор канала - channel
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Slack
|
||||
Функция ПолучитьСписокОтложенныхСообщений(Знач Токен, Знач Канал) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
||||
@ -193,6 +212,16 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить ссылку на сообщение
|
||||
// Получает постоянный UTL к сообщению канала
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен бота - token
|
||||
// Канал - Строка - Идентификатор канала - channel
|
||||
// Отметка - Строка - Временная отметка или ID сообщения - stamp
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Slack
|
||||
Функция ПолучитьСсылкуНаСообщение(Знач Токен, Знач Канал, Знач Отметка) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
||||
|
@ -46,14 +46,11 @@
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Viber
|
||||
Функция УстановитьWebhook(Знач Токен, Знач URL) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
|
||||
|
||||
СтруктураПараметров = Новый Структура;
|
||||
СтруктураПараметров.Вставить("url" , URL);
|
||||
СтруктураПараметров.Вставить("auth_token", Токен);
|
||||
|
||||
Возврат OPI_Инструменты.Post("https://chatapi.viber.com/pa/set_webhook", СтруктураПараметров);
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("url" , URL , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("auth_token" , Токен, "Строка", Параметры);
|
||||
|
||||
Возврат OPI_Инструменты.Post("https://chatapi.viber.com/pa/set_webhook", Параметры);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -68,8 +65,6 @@
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Viber
|
||||
Функция ПолучитьИнформациюОКанале(Знач Токен) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
||||
|
||||
URL = "https://chatapi.viber.com/pa/get_account_info";
|
||||
Возврат OPI_Инструменты.Get(URL, , ТокенВЗаголовки(Токен));
|
||||
|
||||
@ -86,22 +81,15 @@
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Viber
|
||||
Функция ПолучитьДанныеПользователя(Знач Токен, Знач IDПользователя) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПользователя);
|
||||
|
||||
URL = "https://chatapi.viber.com/pa/get_user_details";
|
||||
|
||||
СтруктураПараметров = Новый Структура;
|
||||
СтруктураПараметров.Вставить("id", IDПользователя);
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("id", IDПользователя, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, СтруктураПараметров, ТокенВЗаголовки(Токен));
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, ТокенВЗаголовки(Токен));
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
Попытка
|
||||
Возврат OPI_Инструменты.JsonВСтруктуру(Ответ.ПолучитьТелоКакДвоичныеДанные());
|
||||
Исключение
|
||||
Возврат Ответ;
|
||||
КонецПопытки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить онлайн пользователей
|
||||
@ -115,21 +103,14 @@
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Viber
|
||||
Функция ПолучитьОнлайнПользователей(Знач Токен, Знач IDПользователей) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(IDПользователей);
|
||||
|
||||
URL = "https://chatapi.viber.com/pa/get_online";
|
||||
|
||||
СтруктураПараметров = Новый Структура;
|
||||
СтруктураПараметров.Вставить("ids", IDПользователей);
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("ids", IDПользователей, "Коллекция", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, СтруктураПараметров, ТокенВЗаголовки(Токен));
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, ТокенВЗаголовки(Токен));
|
||||
|
||||
Попытка
|
||||
Возврат OPI_Инструменты.JsonВСтруктуру(Ответ.ПолучитьТелоКакДвоичныеДанные());
|
||||
Исключение
|
||||
Возврат Ответ;
|
||||
КонецПопытки;
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -196,11 +177,7 @@
|
||||
, Знач ОтправкаВКанал
|
||||
, Знач Расширение
|
||||
, Знач Размер = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Расширение);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Размер);
|
||||
|
||||
|
||||
Если Не ЗначениеЗаполнено(Размер) Тогда
|
||||
|
||||
Ответ = OPI_Инструменты.Get(URL);
|
||||
@ -210,12 +187,12 @@
|
||||
|
||||
Расширение = СтрЗаменить(Расширение, ".", "");
|
||||
|
||||
СтруктураЗначения = Новый Структура;
|
||||
СтруктураЗначения.Вставить("URL" , URL);
|
||||
СтруктураЗначения.Вставить("Размер" , Размер);
|
||||
СтруктураЗначения.Вставить("Расширение" , Расширение);
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("URL" , URL , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("Размер" , Размер , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("Расширение", Расширение, "Строка", Параметры);
|
||||
|
||||
Возврат ОтправитьСообщение(Токен, "file", IDПользователя, ОтправкаВКанал, СтруктураЗначения);
|
||||
Возврат ОтправитьСообщение(Токен, "file", IDПользователя, ОтправкаВКанал, Параметры);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -237,14 +214,11 @@
|
||||
, Знач IDПользователя
|
||||
, Знач ОтправкаВКанал) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ИмяКонтакта);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(НомерТелефона);
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("name" , ИмяКонтакта , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("phone_number", НомерТелефона, "Строка", Параметры);
|
||||
|
||||
СтруктураКонтакта = Новый Структура;
|
||||
СтруктураКонтакта.Вставить("name" , ИмяКонтакта);
|
||||
СтруктураКонтакта.Вставить("phone_number", НомерТелефона);
|
||||
|
||||
Возврат ОтправитьСообщение(Токен, "contact", IDПользователя, ОтправкаВКанал, СтруктураКонтакта);
|
||||
Возврат ОтправитьСообщение(Токен, "contact", IDПользователя, ОтправкаВКанал, Параметры);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -262,14 +236,11 @@
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Viber
|
||||
Функция ОтправитьЛокацию(Знач Токен, Знач Широта, Знач Долгота, Знач IDПользователя, Знач ОтправкаВКанал) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Широта);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Долгота);
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("lat", Широта , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("lon", Долгота, "Строка", Параметры);
|
||||
|
||||
СтруктураЛокации = Новый Структура;
|
||||
СтруктураЛокации.Вставить("lat", Широта);
|
||||
СтруктураЛокации.Вставить("lon", Долгота);
|
||||
|
||||
Возврат ОтправитьСообщение(Токен, "location", IDПользователя, ОтправкаВКанал, СтруктураЛокации);
|
||||
Возврат ОтправитьСообщение(Токен, "location", IDПользователя, ОтправкаВКанал, Параметры);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -427,6 +398,8 @@
|
||||
|
||||
Функция ТокенВЗаголовки(Знач Токен)
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
||||
|
||||
СтруктураЗаголовков = Новый Соответствие;
|
||||
СтруктураЗаголовков.Вставить("X-Viber-Auth-Token", Токен);
|
||||
Возврат СтруктураЗаголовков;
|
||||
|
Loading…
x
Reference in New Issue
Block a user