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

Merge pull request #21 from mrtwister/fot_pr

Оставил экранирование не управляющих символов. Остальное убрал. МД в результате вообще не экранируется. А МД2 немного.
This commit is contained in:
Anton Titovets 2024-04-20 16:57:18 +03:00 committed by GitHub
commit f6b8752145
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 12 deletions

View File

@ -137,7 +137,7 @@
, Знач Разметка = "Markdown") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
OPI_Инструменты.ЗаменитьСпецСимволы(Текст);
OPI_Инструменты.ЗаменитьСпецСимволы(Текст, Разметка);
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("parse_mode" , Разметка , "Строка" , Параметры);
@ -302,7 +302,7 @@
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDЧата);
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(СоответствиеФайлов);
OPI_Инструменты.ЗаменитьСпецсимволы(Текст);
OPI_Инструменты.ЗаменитьСпецсимволы(Текст, Разметка);
URL = "api.telegram.org/bot" + Токен + "/sendMediaGroup";
СтруктураФайлов = Новый Структура;
@ -958,7 +958,7 @@
ОпределитьМетодОтправки(Вид, Метод, Расширение);
ПреобразоватьДанныеФайла(Файл, Расширение, Вид);
OPI_Инструменты.ЗаменитьСпецсимволы(Текст);
OPI_Инструменты.ЗаменитьСпецсимволы(Текст, Разметка);
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("parse_mode" , Разметка , "Строка" , Параметры);

View File

@ -338,15 +338,22 @@
КонецПроцедуры
Процедура ЗаменитьСпецСимволы(Текст) Экспорт
МассивСимволов = Новый Соответствие;
МассивСимволов.Вставить("<", "&lt;");
МассивСимволов.Вставить(">", "&gt;");
МассивСимволов.Вставить("&", "&amp;");
МассивСимволов.Вставить("_", " ");
МассивСимволов.Вставить("[", "(");
МассивСимволов.Вставить("]", ")");
Процедура ЗаменитьСпецСимволы(Текст, Разметка = "Markdown") Экспорт
МассивСимволов = Новый Соответствие;
Если Разметка = "HTML" Тогда
МассивСимволов.Вставить("&", "&amp;");
ИначеЕсли Разметка = "MarkdownV2" Тогда
МассивСимволов.Вставить("-", "\-");
МассивСимволов.Вставить("+", "\+");
МассивСимволов.Вставить("#", "\#");
МассивСимволов.Вставить("=", "\=");
МассивСимволов.Вставить("{", "\{");
МассивСимволов.Вставить("}", "\}");
МассивСимволов.Вставить(".", "\.");
КонецЕсли;
Для Каждого СимволМассива Из МассивСимволов Цикл
Текст = СтрЗаменить(Текст, СимволМассива.Ключ, СимволМассива.Значение);