1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2026-05-02 20:52:28 +02:00

Telegram: Доработка форматирования сообщений

This commit is contained in:
Anton Titovets
2025-12-06 13:00:28 +03:00
parent 7110e3ce60
commit 39e855490f
4 changed files with 94 additions and 41 deletions
@@ -311,13 +311,10 @@
, Знач IDВходящего = 0) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Текст);
OPI_Инструменты.ЗаменитьСпецСимволы(Текст, Разметка);
ПодготовитьСтроку(Текст, Разметка);
Строка_ = "Строка";
Текст = РаскодироватьСтроку(Текст, СпособКодированияСтроки.URLВКодировкеURL);
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("parse_mode" , Разметка , Строка_ , Параметры);
OPI_Инструменты.ДобавитьПоле("text" , Текст , Строка_ , Параметры);
@@ -504,7 +501,7 @@
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDЧата);
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(СоответствиеФайлов);
OPI_Инструменты.ЗаменитьСпецсимволы(Текст, Разметка);
ПодготовитьСтроку(Текст, Разметка);
URL = "api.telegram.org/bot" + Токен + "/sendMediaGroup";
Медиа = Новый Массив;
@@ -757,7 +754,7 @@
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Текст);
OPI_Инструменты.ЗаменитьСпецСимволы(Текст, Разметка);
ПодготовитьСтроку(Текст, Разметка);
Строка_ = "Строка";
@@ -799,7 +796,7 @@
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Описание);
OPI_Инструменты.ЗаменитьСпецСимволы(Описание, Разметка);
ПодготовитьСтроку(Описание, Разметка);
Строка_ = "Строка";
@@ -1311,10 +1308,9 @@
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDЧата);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Вид);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Текст);
OPI_Инструменты.ЗаменитьСпецсимволы(Текст, Разметка);
ПодготовитьСтроку(Текст, Разметка);
Если Не ЗначениеЗаполнено(ИмяФайла) Тогда
ИмяФайла = ПреобразоватьДанныеФайла(Файл, Вид, "");
Иначе
@@ -1568,4 +1564,50 @@
КонецПроцедуры
Процедура ПодготовитьСтроку(Текст, Разметка = "Markdown") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Текст);
ЗаменитьСпецСимволы(Текст, Разметка);
Текст = РаскодироватьСтроку(Текст, СпособКодированияСтроки.URLВКодировкеURL);
КонецПроцедуры
Процедура ЗаменитьСпецСимволы(Текст, Разметка) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Разметка);
СоответствиеСимволов = Новый Соответствие;
Если Разметка = "HTML" Тогда
СоответствиеСимволов.Вставить("&", "&");
ИначеЕсли Разметка = "MarkdownV2" Тогда
СоответствиеСимволов.Вставить("-", "\-");
СоответствиеСимволов.Вставить("+", "\+");
СоответствиеСимволов.Вставить("#", "\#");
СоответствиеСимволов.Вставить("=", "\=");
СоответствиеСимволов.Вставить("{", "\{");
СоответствиеСимволов.Вставить("}", "\}");
СоответствиеСимволов.Вставить(".", "\.");
Иначе
Возврат;
КонецЕсли;
Маркер = "╗█▓█╗";
Текст = СтрЗаменить(Текст, "\", Маркер);
Для Каждого СимволМассива Из СоответствиеСимволов Цикл
Текст = СтрЗаменить(Текст, СимволМассива.Ключ, СимволМассива.Значение);
КонецЦикла;
Текст = СтрЗаменить(Текст, Маркер + "\", "\");
Текст = СтрЗаменить(Текст, Маркер, "\");
КонецПроцедуры
#КонецОбласти
@@ -789,36 +789,6 @@
#Область Служебные
Процедура ЗаменитьСпецСимволы(Текст, Разметка = "Markdown") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Разметка);
СоответствиеСимволов = Новый Соответствие;
Если Разметка = "HTML" Тогда
СоответствиеСимволов.Вставить("&", "&");
ИначеЕсли Разметка = "MarkdownV2" Тогда
СоответствиеСимволов.Вставить("-", "\-");
СоответствиеСимволов.Вставить("+", "\+");
СоответствиеСимволов.Вставить("#", "\#");
СоответствиеСимволов.Вставить("=", "\=");
СоответствиеСимволов.Вставить("{", "\{");
СоответствиеСимволов.Вставить("}", "\}");
СоответствиеСимволов.Вставить(".", "\.");
Иначе
Возврат;
КонецЕсли;
Для Каждого СимволМассива Из СоответствиеСимволов Цикл
Текст = СтрЗаменить(Текст, СимволМассива.Ключ, СимволМассива.Значение);
КонецЦикла;
КонецПроцедуры
Процедура Пауза(Знач Секунды) Экспорт
Соединение = Новый HTTPСоединение("1C.ru", 11111, , , , Секунды);
@@ -1397,7 +1397,11 @@
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
ОжидаетЧто(Результат["ok"]).Равно(Истина);
ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
Если Вариант <> "Текст + Emoji" И Вариант <> "Сложный" Тогда
ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
КонецЕсли;
ОжидаетЧто(Результат["result"]["photo"]).ИмеетТип("Массив");
Если Не ЗначениеЗаполнено(Вариант) Тогда
+37
View File
@@ -3462,6 +3462,22 @@
Обработать(Результат, "Telegram", "ОтправитьТекстовоеСообщение", "Клавиатура структура");
Текст = "%F0%9F%94%A5 *Новый релиз\!*
|
|%F0%9F%8F%B0 *Репозиторий*: [240596448/devtools](https://github.com/240596448/devtools)
|%F0%9F%94%A2 *Версия*: \{0.6.0}
|%F0%9F%93%85 *Дата релиза*: 6 декабря 2025 г.
|
|>*AI сводка*
|>Devtools — это инструмент для автоматизации работы с конфигурациями\расширениями 1С:Предприятия и интеграции с Git. Приложение позволяет выгружать и загружать объекты, а также синхронизировать изменения между Git и хранилищем 1С. В релизе 0.6.0 реализованы оптимизация логики работы и добавлено логирование, что способствует стабильности и упрощает анализ работы приложения.
|
|
|_Не забывайте ставить %E2%AD%90 понравившимся проектам_";
Результат = OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, IDЧата, Текст , , "MarkdownV2");
Обработать(Результат, "Telegram", "ОтправитьТекстовоеСообщение", "Сложный");
КонецПроцедуры
Процедура Telegram_СформироватьКлавиатуруПоМассивуКнопок(ПараметрыФункции)
@@ -3523,7 +3539,28 @@
Результат = OPI_Telegram.ОтправитьКартинку(Токен, IDКанала, Текст, Картинка, Клавиатура);
Обработать(Результат, "Telegram", "ОтправитьКартинку", "Клавиатура коллекция", ПараметрыФункции, Текст);
Текст = "Текст %F0%9F%A5%9D и emoji \(10%\)";
Результат = OPI_Telegram.ОтправитьКартинку(Токен, IDКанала, Текст, Картинка, , "MarkdownV2");
Обработать(Результат, "Telegram", "ОтправитьКартинку", "Текст + Emoji");
Текст = "%F0%9F%94%A5 *Новый релиз\!*
|
|%F0%9F%8F%B0 *Репозиторий*: [240596448/devtools](https://github.com/240596448/devtools)
|%F0%9F%94%A2 *Версия*: \{0.6.0}
|%F0%9F%93%85 *Дата релиза*: 6 декабря 2025 г.
|
|>*AI сводка*
|>Devtools — это инструмент для автоматизации работы с конфигурациями\расширениями 1С:Предприятия и интеграции с Git. Приложение позволяет выгружать и загружать объекты, а также синхронизировать изменения между Git и хранилищем 1С. В релизе 0.6.0 реализованы оптимизация логики работы и добавлено логирование, что способствует стабильности и упрощает анализ работы приложения.
|
|
|_Не забывайте ставить %E2%AD%90 понравившимся проектам_";
Результат = OPI_Telegram.ОтправитьКартинку(Токен, IDЧата, Текст , Картинка, , "MarkdownV2");
Обработать(Результат, "Telegram", "ОтправитьКартинку", "Сложный");
OPI_Инструменты.УдалитьФайлВПопытке(КартинкаПуть, "Не удалось удалить временный файл после теста!");
OPI_Инструменты.Пауза(5);