1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-01-02 03:38:55 +02:00

B24: Изменить сообщение

This commit is contained in:
Anton 2024-07-13 23:46:11 +03:00
parent c1fa8dc64e
commit da54ae9bc6
6 changed files with 4783 additions and 4435 deletions

File diff suppressed because it is too large Load Diff

View File

@ -2823,6 +2823,85 @@
КонецФункции
// Изменить сообщение
// Изменяет сообщение в диалоге
//
// Примечание:
// Метод в документации API: [im.message.update](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12117)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDСообщения - Строка, Число - ID сообщения для изменения - message
// Текст - Строка - Новый текст сообщения - text
// Вложения - Массив из Структура - Новый массив блоков вложений - blocks
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ИзменитьСообщение(Знач URL, Знач IDСообщения, Знач Текст = "", Знач Вложения = "", Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "im.message.update");
OPI_Инструменты.ДобавитьПоле("MESSAGE_ID", IDСообщения, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("MESSAGE" , Текст , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("ATTACH" , Вложения , "Массив", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Установить реакцию на сообщение
// Устанавливает или снимает реакцию на сообщение
//
// Примечание:
// Метод в документации API: [im.message.like](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12121)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDСообщения - Строка, Число - ID сообщения - message
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция УстановитьРеакциюНаСообщение(Знач URL, Знач IDСообщения, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "im.message.like");
OPI_Инструменты.ДобавитьПоле("MESSAGE_ID", IDСообщения, "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Удалить сообщение
// Удаляет сообщение в диалоге
//
// Примечание:
// Метод в документации API: [im.message.delete](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12119)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDСообщения - Строка, Число - ID сообщения для удаления - message
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция УдалитьСообщение(Знач URL, Знач IDСообщения, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "im.message.delete");
OPI_Инструменты.ДобавитьПоле("MESSAGE_ID", IDСообщения , "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Получить структуру чата
// Получает структуру полей чата
//

View File

@ -1,21 +1,21 @@
<package-def>
<module name="OPI_Криптография" file="tools/Modules/internal/Modules/OPI_Криптография.os"/>
<module name="OPI_Инструменты" file="tools/Modules/internal/Modules/OPI_Инструменты.os"/>
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
<module name="OPI_Twitter" file="core/Modules/OPI_Twitter.os"/>
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.os"/>
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
<module name="OPI_Bitrix24" file="core/Modules/OPI_Bitrix24.os"/>
<module name="OPI_Viber" file="core/Modules/OPI_Viber.os"/>
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
<module name="OPI_Airtable" file="core/Modules/OPI_Airtable.os"/>
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
<module name="OPI_Bitrix24" file="core/Modules/OPI_Bitrix24.os"/>
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
<module name="OPI_GoogleSheets" file="core/Modules/OPI_GoogleSheets.os"/>
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
<module name="OPI_ПреобразованиеТипов" file="tools/Modules/OPI_ПреобразованиеТипов.os"/>
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
<module name="OPI_Twitter" file="core/Modules/OPI_Twitter.os"/>
<module name="OPI_Viber" file="core/Modules/OPI_Viber.os"/>
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.os"/>
<module name="OPI_Инструменты" file="tools/Modules/internal/Modules/OPI_Инструменты.os"/>
<module name="OPI_Криптография" file="tools/Modules/internal/Modules/OPI_Криптография.os"/>
<module name="OPI_ПолучениеДанныхТестов" file="tools/Modules/OPI_ПолучениеДанныхТестов.os"/>
<module name="OPI_ПреобразованиеТипов" file="tools/Modules/OPI_ПреобразованиеТипов.os"/>
</package-def>

View File

@ -3121,6 +3121,9 @@
Bitrix24_ПолучитьСписокПользователейДиалога(ПараметрыТеста);
Bitrix24_ОтправитьУведомлениеОВводе(ПараметрыТеста);
Bitrix24_ОтправитьСообщение(ПараметрыТеста);
Bitrix24_ИзменитьСообщение(ПараметрыТеста);
Bitrix24_УстановитьРеакциюНаСообщение(ПараметрыТеста);
Bitrix24_УдалитьСообщение(ПараметрыТеста);
Bitrix24_ПрочитатьВсе(ПараметрыТеста);
Bitrix24_СменитьВладельцаЧата(ПараметрыТеста);
Bitrix24_ПокинутьЧат(ПараметрыТеста);
@ -3216,12 +3219,6 @@
КонецПроцедуры
Процедура Проверка_Истина(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Булево").Равно(Истина);
КонецПроцедуры
Процедура Проверка_ТелеграмИстина(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
@ -9125,6 +9122,10 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (хук)", "Bitrix24");
Проверка_БитриксЧисло(Результат); // SKIP
IDСообщения = Результат["result"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_ChatMessageID", IDСообщения); // SKIP
ПараметрыФункции.Вставить("Bitrix24_ChatMessageID", IDСообщения); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
@ -9138,6 +9139,94 @@
Проверка_БитриксЧисло(Результат);
IDСообщения = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_UserMessageID", IDСообщения);
ПараметрыФункции.Вставить("Bitrix24_UserMessageID", IDСообщения);
КонецПроцедуры
Процедура Bitrix24_ИзменитьСообщение(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDСообщения = ПараметрыФункции["Bitrix24_ChatMessageID"];
Текст = "Новый текст сообщения";
Результат = OPI_Bitrix24.ИзменитьСообщение(URL, IDСообщения, Текст);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСообщение (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDСообщения = ПараметрыФункции["Bitrix24_UserMessageID"];
Картинка = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/service/test_data/picture.jpg";
Файл = "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/service/test_data/document.docx";
Вложения = Новый Массив;
Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокКартинки("Картинка1", Картинка));
Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокФайла("Файл1.docx", Файл));
Результат = OPI_Bitrix24.ИзменитьСообщение(URL, IDСообщения, Текст, Вложения, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСообщение", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
Процедура Bitrix24_УдалитьСообщение(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDСообщения = ПараметрыФункции["Bitrix24_ChatMessageID"];
Результат = OPI_Bitrix24.УдалитьСообщение(URL, IDСообщения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСообщение (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDСообщения = ПараметрыФункции["Bitrix24_UserMessageID"];
Результат = OPI_Bitrix24.УдалитьСообщение(URL, IDСообщения, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСообщение", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
Процедура Bitrix24_УстановитьРеакциюНаСообщение(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDСообщения = ПараметрыФункции["Bitrix24_ChatMessageID"];
Результат = OPI_Bitrix24.УстановитьРеакциюНаСообщение(URL, IDСообщения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьРеакциюНаСообщение (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDСообщения = ПараметрыФункции["Bitrix24_UserMessageID"];
Результат = OPI_Bitrix24.УстановитьРеакциюНаСообщение(URL, IDСообщения, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьРеакциюНаСообщение", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
#КонецОбласти

View File

@ -2823,6 +2823,85 @@
КонецФункции
// Изменить сообщение
// Изменяет сообщение в диалоге
//
// Примечание:
// Метод в документации API: [im.message.update](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12117)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDСообщения - Строка, Число - ID сообщения для изменения - message
// Текст - Строка - Новый текст сообщения - text
// Вложения - Массив из Структура - Новый массив блоков вложений - blocks
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ИзменитьСообщение(Знач URL, Знач IDСообщения, Знач Текст = "", Знач Вложения = "", Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "im.message.update");
OPI_Инструменты.ДобавитьПоле("MESSAGE_ID", IDСообщения, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("MESSAGE" , Текст , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("ATTACH" , Вложения , "Массив", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Установить реакцию на сообщение
// Устанавливает или снимает реакцию на сообщение
//
// Примечание:
// Метод в документации API: [im.message.like](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12121)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDСообщения - Строка, Число - ID сообщения - message
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция УстановитьРеакциюНаСообщение(Знач URL, Знач IDСообщения, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "im.message.like");
OPI_Инструменты.ДобавитьПоле("MESSAGE_ID", IDСообщения, "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Удалить сообщение
// Удаляет сообщение в диалоге
//
// Примечание:
// Метод в документации API: [im.message.delete](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12119)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDСообщения - Строка, Число - ID сообщения для удаления - message
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция УдалитьСообщение(Знач URL, Знач IDСообщения, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "im.message.delete");
OPI_Инструменты.ДобавитьПоле("MESSAGE_ID", IDСообщения , "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Получить структуру чата
// Получает структуру полей чата
//

View File

@ -3121,6 +3121,9 @@
Bitrix24_ПолучитьСписокПользователейДиалога(ПараметрыТеста);
Bitrix24_ОтправитьУведомлениеОВводе(ПараметрыТеста);
Bitrix24_ОтправитьСообщение(ПараметрыТеста);
Bitrix24_ИзменитьСообщение(ПараметрыТеста);
Bitrix24_УстановитьРеакциюНаСообщение(ПараметрыТеста);
Bitrix24_УдалитьСообщение(ПараметрыТеста);
Bitrix24_ПрочитатьВсе(ПараметрыТеста);
Bitrix24_СменитьВладельцаЧата(ПараметрыТеста);
Bitrix24_ПокинутьЧат(ПараметрыТеста);
@ -3216,12 +3219,6 @@
КонецПроцедуры
Процедура Проверка_Истина(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Булево").Равно(Истина);
КонецПроцедуры
Процедура Проверка_ТелеграмИстина(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
@ -9125,6 +9122,10 @@
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (хук)", "Bitrix24");
Проверка_БитриксЧисло(Результат); // SKIP
IDСообщения = Результат["result"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_ChatMessageID", IDСообщения); // SKIP
ПараметрыФункции.Вставить("Bitrix24_ChatMessageID", IDСообщения); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
@ -9138,6 +9139,94 @@
Проверка_БитриксЧисло(Результат);
IDСообщения = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_UserMessageID", IDСообщения);
ПараметрыФункции.Вставить("Bitrix24_UserMessageID", IDСообщения);
КонецПроцедуры
Процедура Bitrix24_ИзменитьСообщение(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDСообщения = ПараметрыФункции["Bitrix24_ChatMessageID"];
Текст = "Новый текст сообщения";
Результат = OPI_Bitrix24.ИзменитьСообщение(URL, IDСообщения, Текст);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСообщение (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDСообщения = ПараметрыФункции["Bitrix24_UserMessageID"];
Картинка = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/service/test_data/picture.jpg";
Файл = "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/service/test_data/document.docx";
Вложения = Новый Массив;
Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокКартинки("Картинка1", Картинка));
Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокФайла("Файл1.docx", Файл));
Результат = OPI_Bitrix24.ИзменитьСообщение(URL, IDСообщения, Текст, Вложения, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСообщение", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
Процедура Bitrix24_УдалитьСообщение(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDСообщения = ПараметрыФункции["Bitrix24_ChatMessageID"];
Результат = OPI_Bitrix24.УдалитьСообщение(URL, IDСообщения);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСообщение (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDСообщения = ПараметрыФункции["Bitrix24_UserMessageID"];
Результат = OPI_Bitrix24.УдалитьСообщение(URL, IDСообщения, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСообщение", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
Процедура Bitrix24_УстановитьРеакциюНаСообщение(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDСообщения = ПараметрыФункции["Bitrix24_ChatMessageID"];
Результат = OPI_Bitrix24.УстановитьРеакциюНаСообщение(URL, IDСообщения);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьРеакциюНаСообщение (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDСообщения = ПараметрыФункции["Bitrix24_UserMessageID"];
Результат = OPI_Bitrix24.УстановитьРеакциюНаСообщение(URL, IDСообщения, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьРеакциюНаСообщение", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
#КонецОбласти