You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2026-05-02 20:52:28 +02:00
Telegram: Доработка форматирования сообщений
This commit is contained in:
@@ -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"]).ИмеетТип("Массив");
|
||||
|
||||
Если Не ЗначениеЗаполнено(Вариант) Тогда
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user