diff --git a/src/ru/OPI/src/CommonModules/OPI_Airtable/OPI_Airtable.mdo b/src/ru/OPI/src/CommonModules/OPI_Airtable/OPI_Airtable.mdo
index 7dfa64ba1b..621abbf3bb 100644
--- a/src/ru/OPI/src/CommonModules/OPI_Airtable/OPI_Airtable.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_Airtable/OPI_Airtable.mdo
@@ -5,6 +5,10 @@
OPI airtable
+
+ ru
+ Airtable (ОПИ)
+
true
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_Bitrix24/OPI_Bitrix24.mdo b/src/ru/OPI/src/CommonModules/OPI_Bitrix24/OPI_Bitrix24.mdo
index b85b6c0e53..8b84e57fa6 100644
--- a/src/ru/OPI/src/CommonModules/OPI_Bitrix24/OPI_Bitrix24.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_Bitrix24/OPI_Bitrix24.mdo
@@ -3,7 +3,7 @@
OPI_Bitrix24
ru
- Bitrix24 (OPI)
+ Bitrix24 (ОПИ)
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_Dropbox/OPI_Dropbox.mdo b/src/ru/OPI/src/CommonModules/OPI_Dropbox/OPI_Dropbox.mdo
index 7902731e7c..f932379008 100644
--- a/src/ru/OPI/src/CommonModules/OPI_Dropbox/OPI_Dropbox.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_Dropbox/OPI_Dropbox.mdo
@@ -7,7 +7,7 @@
ru
- Drop box
+ Dropbox (ОПИ)
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_GoogleCalendar/OPI_GoogleCalendar.mdo b/src/ru/OPI/src/CommonModules/OPI_GoogleCalendar/OPI_GoogleCalendar.mdo
index 3d38018f54..141533c52f 100644
--- a/src/ru/OPI/src/CommonModules/OPI_GoogleCalendar/OPI_GoogleCalendar.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_GoogleCalendar/OPI_GoogleCalendar.mdo
@@ -5,6 +5,10 @@
OPI google calendar
+
+ ru
+ Google Calendar (ОПИ)
+
true
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_GoogleDrive/OPI_GoogleDrive.mdo b/src/ru/OPI/src/CommonModules/OPI_GoogleDrive/OPI_GoogleDrive.mdo
index 696a3a5326..cb540a246b 100644
--- a/src/ru/OPI/src/CommonModules/OPI_GoogleDrive/OPI_GoogleDrive.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_GoogleDrive/OPI_GoogleDrive.mdo
@@ -5,6 +5,10 @@
OPI google drive
+
+ ru
+ Google Drive (ОПИ)
+
true
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_GoogleSheets/OPI_GoogleSheets.mdo b/src/ru/OPI/src/CommonModules/OPI_GoogleSheets/OPI_GoogleSheets.mdo
index c26710fdc3..9b5b143f52 100644
--- a/src/ru/OPI/src/CommonModules/OPI_GoogleSheets/OPI_GoogleSheets.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_GoogleSheets/OPI_GoogleSheets.mdo
@@ -5,6 +5,10 @@
OPI google sheets
+
+ ru
+ Google Sheets (ОПИ)
+
true
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_GoogleWorkspace/OPI_GoogleWorkspace.mdo b/src/ru/OPI/src/CommonModules/OPI_GoogleWorkspace/OPI_GoogleWorkspace.mdo
index 45fb1957ce..a253c625f6 100644
--- a/src/ru/OPI/src/CommonModules/OPI_GoogleWorkspace/OPI_GoogleWorkspace.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_GoogleWorkspace/OPI_GoogleWorkspace.mdo
@@ -5,6 +5,10 @@
OPI google workspace
+
+ ru
+ Google Workspace (ОПИ)
+
true
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_Notion/OPI_Notion.mdo b/src/ru/OPI/src/CommonModules/OPI_Notion/OPI_Notion.mdo
index 2af4fd559d..cfe6844564 100644
--- a/src/ru/OPI/src/CommonModules/OPI_Notion/OPI_Notion.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_Notion/OPI_Notion.mdo
@@ -3,7 +3,7 @@
OPI_Notion
ru
- Методы работы с Notion (ОПИ)
+ Notion (ОПИ)
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_Slack/OPI_Slack.mdo b/src/ru/OPI/src/CommonModules/OPI_Slack/OPI_Slack.mdo
index 10c2bd2efb..463f14da27 100644
--- a/src/ru/OPI/src/CommonModules/OPI_Slack/OPI_Slack.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_Slack/OPI_Slack.mdo
@@ -3,7 +3,7 @@
OPI_Slack
ru
- Slack
+ Slack (ОПИ)
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_Telegram/OPI_Telegram.mdo b/src/ru/OPI/src/CommonModules/OPI_Telegram/OPI_Telegram.mdo
index cc233a0791..2bd551e40e 100644
--- a/src/ru/OPI/src/CommonModules/OPI_Telegram/OPI_Telegram.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_Telegram/OPI_Telegram.mdo
@@ -3,7 +3,7 @@
OPI_Telegram
ru
- Методы интеграции с Telegram (ОПИ)
+ Telegram (ОПИ)
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_Twitter/OPI_Twitter.mdo b/src/ru/OPI/src/CommonModules/OPI_Twitter/OPI_Twitter.mdo
index 759025a8c6..6129aac20d 100644
--- a/src/ru/OPI/src/CommonModules/OPI_Twitter/OPI_Twitter.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_Twitter/OPI_Twitter.mdo
@@ -3,7 +3,7 @@
OPI_Twitter
ru
- Методы работы с Twitter (ОПИ)
+ Twitter (ОПИ)
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_VK/OPI_VK.mdo b/src/ru/OPI/src/CommonModules/OPI_VK/OPI_VK.mdo
index f0ebc10c6b..a0a1287621 100644
--- a/src/ru/OPI/src/CommonModules/OPI_VK/OPI_VK.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_VK/OPI_VK.mdo
@@ -3,7 +3,7 @@
OPI_VK
ru
- Методы интеграции с VK (ОПИ)
+ VK (ОПИ)
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_VKTeams/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_VKTeams/Module.bsl
new file mode 100644
index 0000000000..ccde4ac03f
--- /dev/null
+++ b/src/ru/OPI/src/CommonModules/OPI_VKTeams/Module.bsl
@@ -0,0 +1,156 @@
+// OneScript: ./OInt/core/Modules/OPI_VKTeams.os
+// Lib: VKTeams
+// CLI: vkteams
+
+// MIT License
+
+// Copyright (c) 2023 Anton Tsitavets
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+// https://github.com/Bayselonarrend/OpenIntegrations
+
+// BSLLS:Typo-off
+// BSLLS:IncorrectLineBreak-off
+// BSLLS:NumberOfOptionalParams-off
+// BSLLS:UsingServiceTag-off
+// BSLLS:LineLength-off
+
+//@skip-check module-structure-top-region
+//@skip-check module-structure-method-in-regions
+//@skip-check wrong-string-literal-content
+//@skip-check method-too-many-params
+
+// Раскомментировать, если выполняется OneScript
+// #Использовать "../../tools"
+
+#Область ПрограммныйИнтерфейс
+
+#Область ОбщиеМетоды
+
+// Проверить токен
+// Проверяет работоспособность токена бота
+//
+// Примечание:
+// Метод в документации API: [GET /self/get](@teams.vk.com/botapi/#/self/get_self_get)
+//
+// Параметры:
+// Токен - Строка - Токен бота - token
+//
+// Возвращаемое значение:
+// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK Teams
+Функция ПроверитьТокен(Знач Токен) Экспорт
+
+ URL = "/self/get";
+ Параметры = НормализоватьОснову(URL, Токен);
+
+ Ответ = OPI_Инструменты.Get(URL, Параметры);
+
+ Возврат Ответ;
+
+КонецФункции
+
+// Получить события
+// Получает события бота в Polling режиме
+//
+// Примечание:
+// Метод в документации API: [GET /events/get](@teams.vk.com/botapi/#/events/get_events_get)
+//
+// Параметры:
+// Токен - Строка - Токен бота - token
+// IDПоследнего - Строка, Число - ID последнего обработанного до этого события - last
+// Таймаут - Строка, Число - Время удержания соединения для Long Polling - timeout
+//
+// Возвращаемое значение:
+// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK Teams
+Функция ПолучитьСобытия(Знач Токен, Знач IDПоследнего, Знач Таймаут = 0) Экспорт
+
+ URL = "/events/get";
+ Параметры = НормализоватьОснову(URL, Токен);
+ IDПоследнего = OPI_Инструменты.ЧислоВСтроку(IDПоследнего);
+
+ OPI_Инструменты.ДобавитьПоле("lastEventId", IDПоследнего, "Строка", Параметры);
+ OPI_Инструменты.ДобавитьПоле("pollTime" , Таймаут , "Строка", Параметры);
+
+ Ответ = OPI_Инструменты.Get(URL, Параметры);
+
+ Возврат Ответ;
+
+КонецФункции
+
+#КонецОбласти
+
+#Область ОтправкаСообщений
+
+// Отправить текстовое сообщение
+// Отправляет текстовое сообщение в чат
+//
+// Примечание:
+// Можно упомянуть пользователя, добавив в текст его userId в следующем формате @[userId]
+// Метод в документации API: [GET /messages/sendText](@teams.vk.com/botapi/#/messages/get_messages_sendText)
+//
+// Параметры:
+// Токен - Строка - Токен бота - token
+// IDЧата - Строка, Число - ID чата для отправки сообщения - chatid
+// Текст - Строка - Текст сообщения - text
+// IDЦитируемого - Строка, Число - ID цитируемого сообщения, если необходимо - reply
+// Клавиатура - Массив Из Строка - Кнопки к сообщению, если необходимо - keyboard
+// Разметка - Строка - Вид разметки для текста сообщения: MarkdownV2 или HTML - parsemod
+//
+// Возвращаемое значение:
+// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK Teams
+Функция ОтправитьТекстовоеСообщение(Знач Токен
+ , Знач IDЧата
+ , Знач Текст
+ , Знач IDЦитируемого = 0
+ , Знач Клавиатура = ""
+ , Знач Разметка = "MarkdownV2") Экспорт
+
+ URL = "/messages/sendText";
+ Параметры = НормализоватьОснову(URL, Токен);
+
+ OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , "Строка" , Параметры);
+ OPI_Инструменты.ДобавитьПоле("text" , Текст , "Строка" , Параметры);
+ OPI_Инструменты.ДобавитьПоле("replyMsgId" , IDЦитируемого, "Строка" , Параметры);
+ OPI_Инструменты.ДобавитьПоле("inlineKeyboardMarkup", Клавиатура , "Коллекция", Параметры);
+ OPI_Инструменты.ДобавитьПоле("parseMode" , Разметка , "Строка" , Параметры);
+
+ Ответ = OPI_Инструменты.Get(URL, Параметры);
+
+ Возврат Ответ;
+
+КонецФункции
+
+#КонецОбласти
+
+#КонецОбласти
+
+#Область СлужебныеПроцедурыИФункции
+
+Функция НормализоватьОснову(URL, Знач Токен)
+
+ URL = "https://myteam.mail.ru/bot/v1" + URL;
+ Параметры = Новый Структура;
+ OPI_Инструменты.ДобавитьПоле("token", Токен, "Строка", Параметры);
+
+ Возврат Параметры;
+
+КонецФункции
+
+#КонецОбласти
\ No newline at end of file
diff --git a/src/ru/OPI/src/CommonModules/OPI_VkTeams/OPI_VkTeams.mdo b/src/ru/OPI/src/CommonModules/OPI_VKTeams/OPI_VkTeams.mdo
similarity index 84%
rename from src/ru/OPI/src/CommonModules/OPI_VkTeams/OPI_VkTeams.mdo
rename to src/ru/OPI/src/CommonModules/OPI_VKTeams/OPI_VkTeams.mdo
index f1a0881271..9d970310cf 100644
--- a/src/ru/OPI/src/CommonModules/OPI_VkTeams/OPI_VkTeams.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_VKTeams/OPI_VkTeams.mdo
@@ -1,9 +1,9 @@
- OPI_VkTeams
+ OPI_VKTeams
ru
- Vk Teams (ОПИ)
+ VK Teams (ОПИ)
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_Viber/OPI_Viber.mdo b/src/ru/OPI/src/CommonModules/OPI_Viber/OPI_Viber.mdo
index dc7840096f..34a127edd4 100644
--- a/src/ru/OPI/src/CommonModules/OPI_Viber/OPI_Viber.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_Viber/OPI_Viber.mdo
@@ -3,7 +3,7 @@
OPI_Viber
ru
- Методы интеграции с Viber (ОПИ)
+ Viber (ОПИ)
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_VkTeams/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_VkTeams/Module.bsl
deleted file mode 100644
index e61f31cb06..0000000000
--- a/src/ru/OPI/src/CommonModules/OPI_VkTeams/Module.bsl
+++ /dev/null
@@ -1,81 +0,0 @@
-// OneScript: ./OInt/core/Modules/OPI_VkTeams.os
-// Lib: VkTeams
-// CLI: vkteams
-
-// MIT License
-
-// Copyright (c) 2023 Anton Tsitavets
-
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-// SOFTWARE.
-
-// https://github.com/Bayselonarrend/OpenIntegrations
-
-// BSLLS:Typo-off
-// BSLLS:IncorrectLineBreak-off
-// BSLLS:NumberOfOptionalParams-off
-// BSLLS:UsingServiceTag-off
-// BSLLS:LineLength-off
-
-//@skip-check module-structure-top-region
-//@skip-check module-structure-method-in-regions
-//@skip-check wrong-string-literal-content
-//@skip-check method-too-many-params
-
-// Раскомментировать, если выполняется OneScript
-// #Использовать "../../tools"
-
-#Область ПрограммныйИнтерфейс
-
-// Проверить токен
-// Проверяет работоспособность токена бота
-//
-// Примечание:
-// Метод в документации API: [GET /self/get](@teams.vk.com/botapi/#/self/get_self_get)
-//
-// Параметры:
-// Токен - Строка - Токен бота - token
-//
-// Возвращаемое значение:
-// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK Teams
-Функция ПроверитьТокен(Знач Токен) Экспорт
-
- URL = "/self/get";
- Параметры = НормализоватьОснову(URL, Токен);
-
- Ответ = OPI_Инструменты.Get(URL, Параметры);
-
- Возврат Ответ;
-
-КонецФункции
-
-#КонецОбласти
-
-#Область СлужебныеПроцедурыИФункции
-
-Функция НормализоватьОснову(URL, Знач Токен)
-
- URL = "https://myteam.mail.ru/bot/v1" + URL;
- Параметры = Новый Структура;
- OPI_Инструменты.ДобавитьПоле("token", Токен, "Строка", Параметры);
-
- Возврат Параметры;
-
-КонецФункции
-
-#КонецОбласти
\ No newline at end of file
diff --git a/src/ru/OPI/src/CommonModules/OPI_YandexDisk/OPI_YandexDisk.mdo b/src/ru/OPI/src/CommonModules/OPI_YandexDisk/OPI_YandexDisk.mdo
index 6846d3d51e..50eb5dbb80 100644
--- a/src/ru/OPI/src/CommonModules/OPI_YandexDisk/OPI_YandexDisk.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_YandexDisk/OPI_YandexDisk.mdo
@@ -3,7 +3,7 @@
OPI_YandexDisk
ru
- Методы работы с Yandex Disk (ОПИ)
+ Yandex.Disk (ОПИ)
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_YandexID/OPI_YandexID.mdo b/src/ru/OPI/src/CommonModules/OPI_YandexID/OPI_YandexID.mdo
index 7b8489440d..8aff0ad3c2 100644
--- a/src/ru/OPI/src/CommonModules/OPI_YandexID/OPI_YandexID.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_YandexID/OPI_YandexID.mdo
@@ -3,7 +3,7 @@
OPI_YandexID
ru
- Методы работы с Yandex ID (ОПИ)
+ YandexID (ОПИ)
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_Инструменты/OPI_Инструменты.mdo b/src/ru/OPI/src/CommonModules/OPI_Инструменты/OPI_Инструменты.mdo
index 14693fe85e..5a54779063 100644
--- a/src/ru/OPI/src/CommonModules/OPI_Инструменты/OPI_Инструменты.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_Инструменты/OPI_Инструменты.mdo
@@ -3,7 +3,7 @@
OPI_Инструменты
ru
- OPI инструменты
+ Инструменты (ОПИ)
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_Криптография/OPI_Криптография.mdo b/src/ru/OPI/src/CommonModules/OPI_Криптография/OPI_Криптография.mdo
index 710fe257bf..99516677a2 100644
--- a/src/ru/OPI/src/CommonModules/OPI_Криптография/OPI_Криптография.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_Криптография/OPI_Криптография.mdo
@@ -3,7 +3,7 @@
OPI_Криптография
ru
- Криптография (OPI)
+ Криптография (ОПИ)
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl
index 6d2112c396..fab56110e4 100644
--- a/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl
+++ b/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl
@@ -238,6 +238,7 @@
НовыйТест(ТаблицаТестов, "Б24_УправлениеПользователями" , "Управление пользователями" , Битрикс);
НовыйТест(ТаблицаТестов, "ВКТ_ОбщиеМетоды" , "Общие методы" , ВКТ);
+ НовыйТест(ТаблицаТестов, "ВКТ_ОтправкаСообщений" , "Отправка сообщений" , ВКТ);
Возврат ТаблицаТестов;
diff --git a/src/ru/OPI/src/CommonModules/OPI_ПреобразованиеТипов/OPI_ПреобразованиеТипов.mdo b/src/ru/OPI/src/CommonModules/OPI_ПреобразованиеТипов/OPI_ПреобразованиеТипов.mdo
index 154515af34..b325defb56 100644
--- a/src/ru/OPI/src/CommonModules/OPI_ПреобразованиеТипов/OPI_ПреобразованиеТипов.mdo
+++ b/src/ru/OPI/src/CommonModules/OPI_ПреобразованиеТипов/OPI_ПреобразованиеТипов.mdo
@@ -3,7 +3,7 @@
OPI_ПреобразованиеТипов
ru
- Преобразование типов (OPI)
+ Преобразование типов (ОПИ)
true
true
diff --git a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl
index 41598175b6..0a9c15b3ed 100644
--- a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl
+++ b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl
@@ -1,4 +1,4 @@
-// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
+// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// MIT License
@@ -3235,9 +3235,20 @@
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VkTeams_Token", ПараметрыТеста);
VkTeams_ПроверитьТокен(ПараметрыТеста);
+ VkTeams_ПолучитьСобытия(ПараметрыТеста);
КонецПроцедуры
+Процедура ВКТ_ОтправкаСообщений() Экспорт
+
+ ПараметрыТеста = Новый Структура;
+ OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VkTeams_Token", ПараметрыТеста);
+ OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("VkTeams_ChatID", ПараметрыТеста);
+
+ VkTeams_ОтправитьТекстовоеСообщение(ПараметрыТеста);
+
+КонецПроцедуры
+
#КонецОбласти
#КонецОбласти
@@ -3935,6 +3946,20 @@
КонецПроцедуры
+Процедура Проверка_ВКТСобытия(Знач Результат)
+
+ OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
+ OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["events"]).ИмеетТип("Массив");
+
+КонецПроцедуры
+
+Процедура Проверка_ВКТСообщение(Знач Результат)
+
+ OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
+ OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["msgId"]).Заполнено();
+
+КонецПроцедуры
+
#КонецОбласти
#Область АтомарныеТесты
@@ -10207,7 +10232,7 @@
Процедура VkTeams_ПроверитьТокен(ПараметрыФункции)
Токен = ПараметрыФункции["VkTeams_Token"];
- Результат = OPI_VkTeams.ПроверитьТокен(Токен);
+ Результат = OPI_VKTeams.ПроверитьТокен(Токен);
// END
@@ -10219,6 +10244,63 @@
КонецПроцедуры
+Процедура VkTeams_ПолучитьСобытия(ПараметрыФункции)
+
+ Токен = ПараметрыФункции["VkTeams_Token"];
+ IDПоследнего = 0;
+
+ Для Н = 1 По 5 Цикл // В реальной работе - бесконечный цикл
+
+ Результат = OPI_VKTeams.ПолучитьСобытия(Токен, IDПоследнего, 3);
+
+ // !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСобытия", "VkTeams");
+
+ Проверка_ВКТСобытия(Результат); // SKIP
+
+ События = Результат["events"];
+
+ // Обработка событий...
+
+ Если Не События.Количество() = 0 Тогда
+ IDПоследнего = События[События.ВГраница()]["eventId"];
+ КонецЕсли;
+
+ КонецЦикла;
+
+ // END
+
+ OPI_Инструменты.Пауза(3);
+
+КонецПроцедуры
+
+Процедура VkTeams_ОтправитьТекстовоеСообщение(ПараметрыФункции)
+
+ Токен = ПараметрыФункции["VkTeams_Token"];
+ IDЧата = ПараметрыФункции["VkTeams_ChatID"];
+ Текст = "Текст сообщения";
+
+ Результат = OPI_VKTeams.ОтправитьТекстовоеСообщение(Токен, IDЧата, Текст);
+
+ // !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение (простое)", "VkTeams");
+
+ Проверка_ВКТСообщение(Результат); // SKIP
+
+ Текст = "Полужирный текст сообщения";
+ IDЦитируемого = Результат["msgId"];
+ Разметка = "HTML";
+
+ Результат = OPI_VKTeams.ОтправитьТекстовоеСообщение(Токен, IDЧата, Текст, IDЦитируемого, , Разметка);
+
+ // END
+
+ // !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение", "VkTeams");
+
+ Проверка_ВКТСообщение(Результат);
+
+ OPI_Инструменты.Пауза(5);
+
+КонецПроцедуры
+
#КонецОбласти
#КонецОбласти
diff --git a/src/ru/OPI/src/Configuration/Configuration.mdo b/src/ru/OPI/src/Configuration/Configuration.mdo
index d3cc9d6c3f..2555f23a2d 100644
--- a/src/ru/OPI/src/Configuration/Configuration.mdo
+++ b/src/ru/OPI/src/Configuration/Configuration.mdo
@@ -58,7 +58,7 @@
CommonModule.OPI_Airtable
CommonModule.OPI_Dropbox
CommonModule.OPI_Bitrix24
- CommonModule.OPI_VkTeams
+ CommonModule.OPI_VKTeams
CommonModule.OPI_Тесты
CommonModule.OPI_ПолучениеДанныхТестов