mirror of
https://github.com/BlizD/Tasks.git
synced 2025-03-19 21:07:53 +02:00
#240 Удаление старого интерфейса телеграмм-бота
This commit is contained in:
parent
9b13c6a98e
commit
e99bc844c1
@ -523,9 +523,12 @@
|
||||
КонецЕсли;
|
||||
//- #190 SZ 16.03.2020
|
||||
|
||||
//+ #240 Пиганов Г.В. 2020-09-08
|
||||
// +++ 79Vlad 20.12.2018
|
||||
узТелеграммСервер.ВыполнитьРассылку(ДопПараметры);
|
||||
//узТелеграммСервер.ВыполнитьРассылку(ДопПараметры);
|
||||
// --- 79Vlad 20.12.2018
|
||||
узТелеграмБот.ОтправитьСообщение(ДопПараметры.ТекстПисьма, Исполнитель);
|
||||
//- #240 Пиганов Г.В. 2020-09-08
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
@ -613,9 +616,12 @@
|
||||
КонецЕсли;
|
||||
//- #190 SZ 16.03.2020
|
||||
|
||||
//+ #240 Пиганов Г.В. 2020-09-08
|
||||
// +++ 79Vlad 20.12.2018
|
||||
узТелеграммСервер.ВыполнитьРассылку(ДопПараметры);
|
||||
//узТелеграммСервер.ВыполнитьРассылку(ДопПараметры);
|
||||
// --- 79Vlad 20.12.2018
|
||||
узТелеграмБот.ОтправитьСообщение(ДопПараметры.ТекстПисьма, СтарыйИсполнитель);
|
||||
//- #240 Пиганов Г.В. 2020-09-08
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
@ -652,8 +658,11 @@
|
||||
|
||||
узОбщийМодульСервер.ОтправитьПисьмо(ДопПараметры);
|
||||
|
||||
//+ #240 Пиганов Г.В. 2020-09-08
|
||||
//Павлюков
|
||||
узТелеграммСервер.ВыполнитьРассылку(ДопПараметры);
|
||||
//узТелеграммСервер.ВыполнитьРассылку(ДопПараметры);
|
||||
узТелеграмБот.ОтправитьСообщение(ДопПараметры.ТекстСообщения, МассивНаблюдателей);
|
||||
//- #240 Пиганов Г.В. 2020-09-08
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.10">
|
||||
<CommonModule uuid="8f79d0f2-3bdc-43f6-ae0d-3393a1b1c89a">
|
||||
<Properties>
|
||||
<Name>узТелеграммСервер</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Уз телеграмм сервер</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>false</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>true</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
</Properties>
|
||||
</CommonModule>
|
||||
</MetaDataObject>
|
@ -1,186 +0,0 @@
|
||||
|
||||
Функция ПолучитьМассивПолучателей(МассивПользователейКому) Экспорт
|
||||
|
||||
МассивПолучателейТелеграмм = Новый Массив();
|
||||
|
||||
Для Каждого пПользователь из МассивПользователейКому Цикл
|
||||
|
||||
Если НЕ пПользователь.узИспользоватьРассылкуЧерезТелеграмм Тогда
|
||||
Продолжить;
|
||||
Конецесли;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(пПользователь.узИДПользователяТелеграмм) Тогда
|
||||
Продолжить;
|
||||
Конецесли;
|
||||
|
||||
НастройкаТелеграмм = Новый Структура();
|
||||
НастройкаТелеграмм.Вставить("ИД",пПользователь.узИДПользователяТелеграмм);
|
||||
НастройкаТелеграмм.Вставить("узИДПользователяТелеграмм",пПользователь.узИДПользователяТелеграмм);
|
||||
НастройкаТелеграмм.Вставить("Пользователь",пПользователь);
|
||||
|
||||
МассивПолучателейТелеграмм.Добавить(НастройкаТелеграмм);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат МассивПолучателейТелеграмм;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ВыполнитьРассылку(ДопПараметры) Экспорт
|
||||
|
||||
ТокенБота = Константы.узТелеграмм_ТокенБота.Получить();
|
||||
Если Не ЗначениеЗаполнено(ТокенБота) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ДопПараметры.Свойство("МассивПользователейКому") Тогда
|
||||
Если ДопПараметры.Свойство("ПользовательКому") Тогда
|
||||
МассивПользователейКому = Новый Массив();
|
||||
МассивПользователейКому.Добавить(ДопПараметры.ПользовательКому);
|
||||
ДопПараметры.Вставить("МассивПользователейКому",МассивПользователейКому);
|
||||
Конецесли;
|
||||
Конецесли;
|
||||
|
||||
МассивПользователейДляОтправки = ПолучитьМассивПолучателей(ДопПараметры.МассивПользователейКому);
|
||||
|
||||
Если МассивПользователейДляОтправки.Количество() = 0 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
// +++ Григорьев 12.12.2018
|
||||
//ТекстПисьма = СтрЗаменить(ДопПараметры.ТекстПисьма, "#", "");
|
||||
ТекстПисьма = ЗаменитьЗарезервированныеСимволы(ДопПараметры.ТекстПисьма);
|
||||
// --- Григорьев 12.12.2018
|
||||
|
||||
ВТДопПараметры = Новый Структура();
|
||||
Для каждого ЭлДопПараметры из ДопПараметры Цикл
|
||||
ВТДопПараметры.Вставить(ЭлДопПараметры.Ключ, ЭлДопПараметры.Значение);
|
||||
КонецЦикла;
|
||||
|
||||
ВТДопПараметры.Вставить("МассивПользователейДляОтправки",МассивПользователейДляОтправки);
|
||||
ВТДопПараметры.Вставить("ТекстПисьма",ТекстПисьма);
|
||||
ВТДопПараметры.Вставить("ТокенБота",ТокенБота);
|
||||
|
||||
ИспользоватьПроксиДляОтправки = Справочники.узКонстанты.ПолучитьЗначениеКонстанты(
|
||||
"ТелеграммИспользоватьПроксиДляОтправки",Тип("Булево"),Ложь,Истина,Истина);
|
||||
|
||||
Если ИспользоватьПроксиДляОтправки Тогда
|
||||
ВыполнитьРассылку_ЧерезПрокси(ВТДопПараметры);
|
||||
Иначе
|
||||
ВыполнитьРассылку_БезПрокси(ВТДопПараметры);
|
||||
Конецесли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ВыполнитьРассылку_ЧерезПрокси(ДопПараметры)
|
||||
|
||||
МассивПользователейДляОтправки = ДопПараметры.МассивПользователейДляОтправки;
|
||||
ТекстПисьма = ДопПараметры.ТекстПисьма;
|
||||
ТемаПисьма = ДопПараметры.ТемаПисьма;
|
||||
|
||||
пОбработка = Обработки.узРаботаСТелеграм.Создать();
|
||||
пОбработка.ОтправитьСообщениеTelegram(ТекстПисьма, МассивПользователейДляОтправки);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ВыполнитьРассылку_БезПрокси(ДопПараметры)
|
||||
|
||||
МассивПользователейДляОтправки = ДопПараметры.МассивПользователейДляОтправки;
|
||||
ТекстПисьма = ДопПараметры.ТекстПисьма;
|
||||
ТемаПисьма = ДопПараметры.ТемаПисьма;
|
||||
ТокенБота = ДопПараметры.ТокенБота;
|
||||
|
||||
Для Каждого элемПолучатель Из МассивПользователейДляОтправки Цикл
|
||||
|
||||
Ресурс = "bot" + ТокенБота + "/sendMessage?chat_id=" + Формат(элемПолучатель.ИД, "ЧГ=") + "&text=" + ТекстПисьма+"&parse_mode=Markdown&disable_web_page_preview=true";
|
||||
//Ресурс = "bot" + ТокенБота + "/sendMessage?chat_id=" + Формат(элемПолучатель.ИД, "ЧГ=") + "&text=" + ТекстПисьма+"&disable_web_page_preview=true";
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org", 443,,,,30,Новый ЗащищенноеСоединениеOpenSSL());
|
||||
ЗапросHTTP = Новый HTTPЗапрос(Ресурс);
|
||||
Ответ = Соединение.Получить(ЗапросHTTP);
|
||||
|
||||
Если Не Ответ.КодСостояния = 200 Тогда
|
||||
ЗаписьЖурналаРегистрации("Телеграмм.Отправка", УровеньЖурналаРегистрации.Ошибка,,
|
||||
, "Не смогли отправить пользователю <"+элемПолучатель.ИД+":"+элемПолучатель.Пользователь+">");
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры // +++ Григорьев 12.12.2018
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Функция ЗаменитьЗарезервированныеСимволы
|
||||
//
|
||||
// Описание:
|
||||
// Выполняет замену основных зарезервированных символов для протокола URL
|
||||
//
|
||||
// Параметры:
|
||||
// ОбрабатываемаяСтрока - <Тип.Строка> - исходная строка для обработки
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Результат - <Тип.Строка> - обработанная строка
|
||||
//
|
||||
Функция ЗаменитьЗарезервированныеСимволы(ОбрабатываемаяСтрока = Неопределено) Экспорт
|
||||
Если ОбрабатываемаяСтрока = Неопределено или НЕ ЗначениеЗаполнено(ОбрабатываемаяСтрока) Тогда
|
||||
Возврат ОбрабатываемаяСтрока;
|
||||
КонецЕсли;
|
||||
|
||||
пТелеграммИспользоватьЗаменуСимволовВДругуюКодировку = Справочники.узКонстанты.ПолучитьЗначениеКонстанты(
|
||||
"ТелеграммИспользоватьЗаменуСимволовВДругуюКодировку",Тип("Булево"),,Истина,Истина);
|
||||
|
||||
Если пТелеграммИспользоватьЗаменуСимволовВДругуюКодировку Тогда
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(37),"%25"); // "%"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(33),"%21"); // "!"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(34),"%22"); // """ (кавычка)
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(35),"%23"); // "#"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(36),"%24"); // "$"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(38),"%26"); // "&"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(39),"%27"); // "'"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(42),"%2A"); // "*"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(44),"%2C"); // ","
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(58),"%3A"); // ":"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(59),"%3B"); // ";"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(60),"%3C"); // "<"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(61),"%3D"); // "="
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(62),"%3E"); // ">"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(63),"%3F"); // "?"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(91),"%5B"); // "["
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(93),"%5D"); // "]"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(94),"%5E"); // "^"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(96),"%60"); // "`"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(123),"%7B"); // "{"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(124),"%7C"); // "|"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(125),"%7D"); // "}"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(32),"%20"); // " " (пробел)
|
||||
Иначе
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%25",Символ(37) ); // "%"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%21",Символ(33) ); // "!"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%22",Символ(34) ); // """ (кавычка)
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%23",Символ(35) ); // "#"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%24",Символ(36) ); // "$"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%26",Символ(38) ); // "&"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%27",Символ(39) ); // "'"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%2A",Символ(42) ); // "*"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%2C",Символ(44) ); // ","
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%3A",Символ(58) ); // ":"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%3B",Символ(59) ); // ";"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%3C",Символ(60) ); // "<"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%3D",Символ(61) ); // "="
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%3E",Символ(62) ); // ">"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%3F",Символ(63) ); // "?"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%5B",Символ(91) ); // "["
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%5D",Символ(93) ); // "]"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%5E",Символ(94) ); // "^"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%60",Символ(96) ); // "`"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%7B",Символ(123)); // "{"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%7C",Символ(124)); // "|"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%7D",Символ(125)); // "}"
|
||||
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%20",Символ(32) ); // " " (пробел)
|
||||
Конецесли;
|
||||
|
||||
Возврат ОбрабатываемаяСтрока;
|
||||
КонецФункции //ЗаменитьЗарезервированныеСимволы // --- Григорьев 12.12.2018
|
||||
|
||||
|
||||
|
@ -1005,7 +1005,6 @@
|
||||
<CommonModule>узОбновлениеИнформационнойБазы</CommonModule>
|
||||
<CommonModule>узОбщийМодульКлиент</CommonModule>
|
||||
<CommonModule>узОбщийМодульСервер</CommonModule>
|
||||
<CommonModule>узТелеграммСервер</CommonModule>
|
||||
<CommonModule>узРаботаСБуферомОбменаКлиент</CommonModule>
|
||||
<CommonModule>узТелеграмБот</CommonModule>
|
||||
<CommonModule>узТелеграмБотКоманды</CommonModule>
|
||||
|
@ -1,401 +1,402 @@
|
||||
|
||||
Функция ПолучитьНастройкиДляРаботыСТелеграм()
|
||||
|
||||
пНастройкиДляРаботыСТелеграм = Новый Структура;
|
||||
|
||||
//ТокенТелеграмБота = Справочники.узКонстанты.ПолучитьЗначениеКонстанты("ТокенТелеграмБота",
|
||||
// Тип("Строка"),,Ложь);
|
||||
//Если Не ЗначениеЗаполнено(ТокенТелеграмБота) Тогда
|
||||
// Возврат;
|
||||
//КонецЕсли;
|
||||
|
||||
пВсеНастройкиПолучены = Истина;
|
||||
пТокенТелеграмБота = Константы.узТелеграмм_ТокенБота.Получить();
|
||||
Если Не ЗначениеЗаполнено(пТокенТелеграмБота) Тогда
|
||||
пВсеНастройкиПолучены = Ложь;
|
||||
КонецЕсли;
|
||||
// #240 Пиганов Г.В. 2020-09-08
|
||||
//Функция ПолучитьНастройкиДляРаботыСТелеграм()
|
||||
//
|
||||
// пНастройкиДляРаботыСТелеграм = Новый Структура;
|
||||
//
|
||||
// //ТокенТелеграмБота = Справочники.узКонстанты.ПолучитьЗначениеКонстанты("ТокенТелеграмБота",
|
||||
// // Тип("Строка"),,Ложь);
|
||||
// //Если Не ЗначениеЗаполнено(ТокенТелеграмБота) Тогда
|
||||
// // Возврат;
|
||||
// //КонецЕсли;
|
||||
//
|
||||
// пВсеНастройкиПолучены = Истина;
|
||||
// пТокенТелеграмБота = Константы.узТелеграмм_ТокенБота.Получить();
|
||||
// Если Не ЗначениеЗаполнено(пТокенТелеграмБота) Тогда
|
||||
// пВсеНастройкиПолучены = Ложь;
|
||||
// КонецЕсли;
|
||||
|
||||
|
||||
пМассивНастроекПроксиСерверов = РегистрыСведений.узПроксиСерверы.ПолучитьМассивНастроекПроксиСерверов();
|
||||
пМассивНастроекПроксиСерверовКоличество = пМассивНастроекПроксиСерверов.Количество();
|
||||
// + #232 Ruflex @RomanUpworksTeam
|
||||
//Если пМассивНастроекПроксиСерверовКоличество = 0 Тогда
|
||||
// пВсеНастройкиПолучены = Ложь;
|
||||
//КонецЕсли;
|
||||
// - #232 Ruflex @RomanUpworksTeam
|
||||
|
||||
пНастройкиДляРаботыСТелеграм.Вставить("ТокенТелеграмБота", пТокенТелеграмБота);
|
||||
пНастройкиДляРаботыСТелеграм.Вставить("МассивНастроекПроксиСерверов", пМассивНастроекПроксиСерверов);
|
||||
пНастройкиДляРаботыСТелеграм.Вставить("НомерТекущейНастройкиПрокси", 0);
|
||||
пНастройкиДляРаботыСТелеграм.Вставить("ВсеНастройкиПолучены", пВсеНастройкиПолучены);
|
||||
Если пВсеНастройкиПолучены = Ложь Тогда
|
||||
ЗаписьЖурналаРегистрации("Телеграмм.Настройки", УровеньЖурналаРегистрации.Ошибка,,
|
||||
, "Не смогли получить настройки телеграм");
|
||||
//
|
||||
// пМассивНастроекПроксиСерверов = РегистрыСведений.узПроксиСерверы.ПолучитьМассивНастроекПроксиСерверов();
|
||||
// пМассивНастроекПроксиСерверовКоличество = пМассивНастроекПроксиСерверов.Количество();
|
||||
// // + #232 Ruflex @RomanUpworksTeam
|
||||
// //Если пМассивНастроекПроксиСерверовКоличество = 0 Тогда
|
||||
// // пВсеНастройкиПолучены = Ложь;
|
||||
// //КонецЕсли;
|
||||
// // - #232 Ruflex @RomanUpworksTeam
|
||||
//
|
||||
// пНастройкиДляРаботыСТелеграм.Вставить("ТокенТелеграмБота", пТокенТелеграмБота);
|
||||
// пНастройкиДляРаботыСТелеграм.Вставить("МассивНастроекПроксиСерверов", пМассивНастроекПроксиСерверов);
|
||||
// пНастройкиДляРаботыСТелеграм.Вставить("НомерТекущейНастройкиПрокси", 0);
|
||||
// пНастройкиДляРаботыСТелеграм.Вставить("ВсеНастройкиПолучены", пВсеНастройкиПолучены);
|
||||
// Если пВсеНастройкиПолучены = Ложь Тогда
|
||||
// ЗаписьЖурналаРегистрации("Телеграмм.Настройки", УровеньЖурналаРегистрации.Ошибка,,
|
||||
// , "Не смогли получить настройки телеграм");
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат пНастройкиДляРаботыСТелеграм;
|
||||
|
||||
КонецФункции
|
||||
// КонецЕсли;
|
||||
//
|
||||
// Возврат пНастройкиДляРаботыСТелеграм;
|
||||
//
|
||||
//КонецФункции
|
||||
|
||||
Процедура ПрочитатьСообщенияTelegram() Экспорт
|
||||
|
||||
НастройкиДляРаботыСТелеграм = ПолучитьНастройкиДляРаботыСТелеграм();
|
||||
Если НастройкиДляРаботыСТелеграм.ВсеНастройкиПолучены = Ложь Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(MaxMessangeID) Тогда
|
||||
ИДПоследнегоПринятогоСообщения = MaxMessangeID;
|
||||
Иначе
|
||||
ИДПоследнегоПринятогоСообщения = Справочники.узКонстанты.ПолучитьЗначениеКонстанты("ТелеграмMaxMessangeID", Тип("Строка"),,Ложь);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Ресурс = "bot" + НастройкиДляРаботыСТелеграм.ТокенТелеграмБота + "/getUpdates" + ?(ЗначениеЗаполнено(ИДПоследнегоПринятогоСообщения), "?offset=" + ИДПоследнегоПринятогоСообщения, "");
|
||||
ЗапросHTTP = Новый HTTPЗапрос(Ресурс);
|
||||
ЗапросHTTP.Заголовки.Вставить("Content-type", "keep-alive");
|
||||
|
||||
Ответ = Неопределено;
|
||||
ВыполнитьЗапросHTTP_Telegram(Ответ,
|
||||
ЗапросHTTP,
|
||||
НастройкиДляРаботыСТелеграм.МассивНастроекПроксиСерверов,
|
||||
НастройкиДляРаботыСТелеграм.НомерТекущейНастройкиПрокси,
|
||||
Истина);
|
||||
|
||||
Если Ответ = Неопределено
|
||||
Или Ответ.КодСостояния < 200
|
||||
Или Ответ.КодСостояния >= 300 Тогда
|
||||
//Процедура ПрочитатьСообщенияTelegram() Экспорт
|
||||
//
|
||||
// НастройкиДляРаботыСТелеграм = ПолучитьНастройкиДляРаботыСТелеграм();
|
||||
// Если НастройкиДляРаботыСТелеграм.ВсеНастройкиПолучены = Ложь Тогда
|
||||
// Возврат;
|
||||
// КонецЕсли;
|
||||
//
|
||||
// Если ЗначениеЗаполнено(MaxMessangeID) Тогда
|
||||
// ИДПоследнегоПринятогоСообщения = MaxMessangeID;
|
||||
// Иначе
|
||||
// ИДПоследнегоПринятогоСообщения = Справочники.узКонстанты.ПолучитьЗначениеКонстанты("ТелеграмMaxMessangeID", Тип("Строка"),,Ложь);
|
||||
// КонецЕсли;
|
||||
//
|
||||
//
|
||||
// Ресурс = "bot" + НастройкиДляРаботыСТелеграм.ТокенТелеграмБота + "/getUpdates" + ?(ЗначениеЗаполнено(ИДПоследнегоПринятогоСообщения), "?offset=" + ИДПоследнегоПринятогоСообщения, "");
|
||||
// ЗапросHTTP = Новый HTTPЗапрос(Ресурс);
|
||||
// ЗапросHTTP.Заголовки.Вставить("Content-type", "keep-alive");
|
||||
//
|
||||
// Ответ = Неопределено;
|
||||
// ВыполнитьЗапросHTTP_Telegram(Ответ,
|
||||
// ЗапросHTTP,
|
||||
// НастройкиДляРаботыСТелеграм.МассивНастроекПроксиСерверов,
|
||||
// НастройкиДляРаботыСТелеграм.НомерТекущейНастройкиПрокси,
|
||||
// Истина);
|
||||
//
|
||||
// Если Ответ = Неопределено
|
||||
// Или Ответ.КодСостояния < 200
|
||||
// Или Ответ.КодСостояния >= 300 Тогда
|
||||
|
||||
ЗаписьЖурналаРегистрации("Телеграм.ПолучениеСообщений", УровеньЖурналаРегистрации.Ошибка,,
|
||||
, "Не смогли получить сообщения телеграм");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
// ЗаписьЖурналаРегистрации("Телеграм.ПолучениеСообщений", УровеньЖурналаРегистрации.Ошибка,,
|
||||
// , "Не смогли получить сообщения телеграм");
|
||||
// Возврат;
|
||||
// КонецЕсли;
|
||||
|
||||
|
||||
ОтветСтрокаJSON = Ответ.ПолучитьТелоКакСтроку();
|
||||
HTTPОтвет = ОтветСтрокаJSON;
|
||||
пЧтениеJSON = Новый ЧтениеJSON;
|
||||
пЧтениеJSON.УстановитьСтроку(ОтветСтрокаJSON);
|
||||
ОтветСоответсвие = ПрочитатьJSON(пЧтениеJSON, Истина);//(пЧтениеJSON, Ложь, , , "ФункцияВосстановленияJSON", ЭтотОбъект);
|
||||
пЧтениеJSON.Закрыть();
|
||||
|
||||
Если ОтветСоответсвие["ok"] <> Истина Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
МассивResult = ОтветСоответсвие["result"];
|
||||
ИДПоследнегоПринятогоСообщения = Неопределено;
|
||||
//
|
||||
// ОтветСтрокаJSON = Ответ.ПолучитьТелоКакСтроку();
|
||||
// HTTPОтвет = ОтветСтрокаJSON;
|
||||
// пЧтениеJSON = Новый ЧтениеJSON;
|
||||
// пЧтениеJSON.УстановитьСтроку(ОтветСтрокаJSON);
|
||||
// ОтветСоответсвие = ПрочитатьJSON(пЧтениеJSON, Истина);//(пЧтениеJSON, Ложь, , , "ФункцияВосстановленияJSON", ЭтотОбъект);
|
||||
// пЧтениеJSON.Закрыть();
|
||||
//
|
||||
// Если ОтветСоответсвие["ok"] <> Истина Тогда
|
||||
// Возврат;
|
||||
// КонецЕсли;
|
||||
//
|
||||
// МассивResult = ОтветСоответсвие["result"];
|
||||
// ИДПоследнегоПринятогоСообщения = Неопределено;
|
||||
|
||||
ТЗПользователиТелеграмм = ПолучитьТЗПользователиТелеграмм();
|
||||
|
||||
Для Каждого СоответсвиеMessange Из МассивResult Цикл
|
||||
|
||||
ИДПоследнегоПринятогоСообщения = Формат(СоответсвиеMessange["update_id"] + 1, "ЧГ=");
|
||||
СоответсвиеMessange_message = СоответсвиеMessange.Получить("message");
|
||||
Если СоответсвиеMessange_message = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
ДатаСообщения = '19700101' + СоответсвиеMessange_message["date"] +7*60*60;
|
||||
СоответсвиеFrom = СоответсвиеMessange_message["from"];
|
||||
пLastName = СоответсвиеFrom["last_name"];
|
||||
пFirstName = СоответсвиеFrom["first_name"];
|
||||
пСhatИД = Формат(СоответсвиеMessange_message["chat"]["id"], "ЧГ=");
|
||||
Если СоответсвиеMessange_message.Получить("text") <> Неопределено Тогда
|
||||
MessageText = СоответсвиеMessange_message.Получить("text");
|
||||
// ТЗПользователиТелеграмм = ПолучитьТЗПользователиТелеграмм();
|
||||
//
|
||||
// Для Каждого СоответсвиеMessange Из МассивResult Цикл
|
||||
//
|
||||
// ИДПоследнегоПринятогоСообщения = Формат(СоответсвиеMessange["update_id"] + 1, "ЧГ=");
|
||||
// СоответсвиеMessange_message = СоответсвиеMessange.Получить("message");
|
||||
// Если СоответсвиеMessange_message = Неопределено Тогда
|
||||
// Продолжить;
|
||||
// КонецЕсли;
|
||||
// ДатаСообщения = '19700101' + СоответсвиеMessange_message["date"] +7*60*60;
|
||||
// СоответсвиеFrom = СоответсвиеMessange_message["from"];
|
||||
// пLastName = СоответсвиеFrom["last_name"];
|
||||
// пFirstName = СоответсвиеFrom["first_name"];
|
||||
// пСhatИД = Формат(СоответсвиеMessange_message["chat"]["id"], "ЧГ=");
|
||||
// Если СоответсвиеMessange_message.Получить("text") <> Неопределено Тогда
|
||||
// MessageText = СоответсвиеMessange_message.Получить("text");
|
||||
|
||||
// + Иванов А.Б. 2020-07-11
|
||||
// Если Найти(MessageText, "/addwork") <> 0 Тогда
|
||||
// Запрос = Новый Запрос;
|
||||
// Запрос.Текст =
|
||||
// "ВЫБРАТЬ ПЕРВЫЕ 1
|
||||
// | Пользователи.Ссылка КАК Пользователь
|
||||
// |ИЗ
|
||||
// | Справочник.Пользователи КАК Пользователи
|
||||
// |ГДЕ
|
||||
// | Пользователи.узИДПользователяТелеграмм = &узИДПользователяТелеграмм";
|
||||
//
|
||||
// Запрос.УстановитьПараметр("узИДПользователяТелеграмм", Число(пСhatИД));
|
||||
//
|
||||
// РезультатЗапроса = Запрос.Выполнить();
|
||||
// Если РезультатЗапроса.Пустой() Тогда
|
||||
// Продолжить;
|
||||
// КонецЕсли;
|
||||
//
|
||||
// Выборка = РезультатЗапроса.Выбрать();
|
||||
// Пока Выборка.Следующий() Цикл
|
||||
// ТекущиеДелаОбъект = Справочники.узТекущиеДела.СоздатьЭлемент();
|
||||
// ТекущиеДелаОбъект.Автор = Выборка.Пользователь;
|
||||
// ТекущиеДелаОбъект.ТекстСодержания = СтрЗаменить(MessageText, "/addwork", "");
|
||||
// ТекущиеДелаОбъект.Записать();
|
||||
// КонецЦикла;
|
||||
//
|
||||
// КонецЕсли;
|
||||
|
||||
Если Найти(MessageText, "/addwork") = 0 Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
пузИДПользователяТелеграмм = Число(пСhatИД);
|
||||
|
||||
ПараметрыОтбора=Новый Структура();
|
||||
ПараметрыОтбора.Вставить("узИДПользователяТелеграмм",пузИДПользователяТелеграмм);
|
||||
НайденныеСтроки = ТЗПользователиТелеграмм.НайтиСтроки(ПараметрыОтбора);
|
||||
ВсегоНайденныеСтроки = НайденныеСтроки.Количество();
|
||||
ТекстОшибки = "";
|
||||
Если ВсегоНайденныеСтроки = 1 тогда
|
||||
СтрокаТЗПользователиТелеграмм = НайденныеСтроки[0];
|
||||
ИначеЕсли ВсегоНайденныеСтроки > 1 Тогда
|
||||
ТекстОшибки = "Ошибка! Найдено более 1 строки";
|
||||
Иначе
|
||||
ТекстОшибки = "Ошибка! Не найдена строка";
|
||||
Конецесли;
|
||||
|
||||
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
|
||||
ТекстОшибки = ТекстОшибки
|
||||
+" в ""ТЗПользователиТелеграмм"" для ";
|
||||
Для каждого ЭлементОтбора из ПараметрыОтбора цикл
|
||||
ТекстОшибки = ТекстОшибки
|
||||
+" "+ ЭлементОтбора.Ключ + " = ["+ЭлементОтбора.Значение+"]";
|
||||
Конеццикла;
|
||||
ВызватьИсключение ТекстОшибки;
|
||||
Конецесли;
|
||||
|
||||
ТекущиеДелаОбъект = Справочники.узТекущиеДела.СоздатьЭлемент();
|
||||
ТекущиеДелаОбъект.Автор = СтрокаТЗПользователиТелеграмм.Пользователь;
|
||||
ТекущиеДелаОбъект.ТекстСодержания = СтрЗаменить(MessageText, "/addwork", "");
|
||||
ТекущиеДелаОбъект.Записать();
|
||||
// - Иванов А.Б. 2020-07-11
|
||||
|
||||
|
||||
ИначеЕсли СоответсвиеMessange_message.Получить("photo") <> Неопределено Тогда
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
Если ЗначениеЗаполнено(ИДПоследнегоПринятогоСообщения) Тогда
|
||||
Справочники.узКонстанты.УстановитьЗначениеКонстанты("ТелеграмMaxMessangeID", ИДПоследнегоПринятогоСообщения);
|
||||
MaxMessangeID = ИДПоследнегоПринятогоСообщения;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
// // + Иванов А.Б. 2020-07-11
|
||||
// // Если Найти(MessageText, "/addwork") <> 0 Тогда
|
||||
// // Запрос = Новый Запрос;
|
||||
// // Запрос.Текст =
|
||||
// // "ВЫБРАТЬ ПЕРВЫЕ 1
|
||||
// // | Пользователи.Ссылка КАК Пользователь
|
||||
// // |ИЗ
|
||||
// // | Справочник.Пользователи КАК Пользователи
|
||||
// // |ГДЕ
|
||||
// // | Пользователи.узИДПользователяТелеграмм = &узИДПользователяТелеграмм";
|
||||
// //
|
||||
// // Запрос.УстановитьПараметр("узИДПользователяТелеграмм", Число(пСhatИД));
|
||||
// //
|
||||
// // РезультатЗапроса = Запрос.Выполнить();
|
||||
// // Если РезультатЗапроса.Пустой() Тогда
|
||||
// // Продолжить;
|
||||
// // КонецЕсли;
|
||||
// //
|
||||
// // Выборка = РезультатЗапроса.Выбрать();
|
||||
// // Пока Выборка.Следующий() Цикл
|
||||
// // ТекущиеДелаОбъект = Справочники.узТекущиеДела.СоздатьЭлемент();
|
||||
// // ТекущиеДелаОбъект.Автор = Выборка.Пользователь;
|
||||
// // ТекущиеДелаОбъект.ТекстСодержания = СтрЗаменить(MessageText, "/addwork", "");
|
||||
// // ТекущиеДелаОбъект.Записать();
|
||||
// // КонецЦикла;
|
||||
// //
|
||||
// // КонецЕсли;
|
||||
//
|
||||
// Если Найти(MessageText, "/addwork") = 0 Тогда
|
||||
// Продолжить;
|
||||
// КонецЕсли;
|
||||
//
|
||||
// пузИДПользователяТелеграмм = Число(пСhatИД);
|
||||
//
|
||||
// ПараметрыОтбора=Новый Структура();
|
||||
// ПараметрыОтбора.Вставить("узИДПользователяТелеграмм",пузИДПользователяТелеграмм);
|
||||
// НайденныеСтроки = ТЗПользователиТелеграмм.НайтиСтроки(ПараметрыОтбора);
|
||||
// ВсегоНайденныеСтроки = НайденныеСтроки.Количество();
|
||||
// ТекстОшибки = "";
|
||||
// Если ВсегоНайденныеСтроки = 1 тогда
|
||||
// СтрокаТЗПользователиТелеграмм = НайденныеСтроки[0];
|
||||
// ИначеЕсли ВсегоНайденныеСтроки > 1 Тогда
|
||||
// ТекстОшибки = "Ошибка! Найдено более 1 строки";
|
||||
// Иначе
|
||||
// ТекстОшибки = "Ошибка! Не найдена строка";
|
||||
// Конецесли;
|
||||
//
|
||||
// Если ЗначениеЗаполнено(ТекстОшибки) Тогда
|
||||
// ТекстОшибки = ТекстОшибки
|
||||
// +" в ""ТЗПользователиТелеграмм"" для ";
|
||||
// Для каждого ЭлементОтбора из ПараметрыОтбора цикл
|
||||
// ТекстОшибки = ТекстОшибки
|
||||
// +" "+ ЭлементОтбора.Ключ + " = ["+ЭлементОтбора.Значение+"]";
|
||||
// Конеццикла;
|
||||
// ВызватьИсключение ТекстОшибки;
|
||||
// Конецесли;
|
||||
//
|
||||
// ТекущиеДелаОбъект = Справочники.узТекущиеДела.СоздатьЭлемент();
|
||||
// ТекущиеДелаОбъект.Автор = СтрокаТЗПользователиТелеграмм.Пользователь;
|
||||
// ТекущиеДелаОбъект.ТекстСодержания = СтрЗаменить(MessageText, "/addwork", "");
|
||||
// ТекущиеДелаОбъект.Записать();
|
||||
// // - Иванов А.Б. 2020-07-11
|
||||
//
|
||||
//
|
||||
// ИначеЕсли СоответсвиеMessange_message.Получить("photo") <> Неопределено Тогда
|
||||
//
|
||||
// КонецЕсли;
|
||||
//
|
||||
// КонецЦикла;
|
||||
//
|
||||
//
|
||||
// Если ЗначениеЗаполнено(ИДПоследнегоПринятогоСообщения) Тогда
|
||||
// Справочники.узКонстанты.УстановитьЗначениеКонстанты("ТелеграмMaxMessangeID", ИДПоследнегоПринятогоСообщения);
|
||||
// MaxMessangeID = ИДПоследнегоПринятогоСообщения;
|
||||
// КонецЕсли;
|
||||
//
|
||||
//КонецПроцедуры
|
||||
|
||||
Функция ПолучитьТЗПользователиТелеграмм()
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = "ВЫБРАТЬ
|
||||
| МАКСИМУМ(Пользователи.Ссылка) КАК Пользователь,
|
||||
| Пользователи.узИДПользователяТелеграмм КАК узИДПользователяТелеграмм
|
||||
|ИЗ
|
||||
| Справочник.Пользователи КАК Пользователи
|
||||
|ГДЕ
|
||||
| Пользователи.узИДПользователяТелеграмм <> 0
|
||||
|
|
||||
|СГРУППИРОВАТЬ ПО
|
||||
| Пользователи.узИДПользователяТелеграмм";
|
||||
|
||||
ТЗПользователиТелеграмм = Запрос.Выполнить().Выгрузить();
|
||||
|
||||
Возврат ТЗПользователиТелеграмм;
|
||||
|
||||
КонецФункции
|
||||
//Функция ПолучитьТЗПользователиТелеграмм()
|
||||
//
|
||||
// Запрос = Новый Запрос;
|
||||
// Запрос.Текст = "ВЫБРАТЬ
|
||||
// | МАКСИМУМ(Пользователи.Ссылка) КАК Пользователь,
|
||||
// | Пользователи.узИДПользователяТелеграмм КАК узИДПользователяТелеграмм
|
||||
// |ИЗ
|
||||
// | Справочник.Пользователи КАК Пользователи
|
||||
// |ГДЕ
|
||||
// | Пользователи.узИДПользователяТелеграмм <> 0
|
||||
// |
|
||||
// |СГРУППИРОВАТЬ ПО
|
||||
// | Пользователи.узИДПользователяТелеграмм";
|
||||
//
|
||||
// ТЗПользователиТелеграмм = Запрос.Выполнить().Выгрузить();
|
||||
//
|
||||
// Возврат ТЗПользователиТелеграмм;
|
||||
//
|
||||
//КонецФункции
|
||||
|
||||
Процедура ОтправитьСообщениеTelegram(ТекстСообщения, МассивПользователейДляОтправки, УведомлятьОРезультате = Ложь) Экспорт
|
||||
|
||||
Если МассивПользователейДляОтправки.Количество() = 0 Тогда
|
||||
// ++ 79Vlad 20.06.2019 #174 \\
|
||||
Если УведомлятьОРезультате Тогда
|
||||
Сообщение = Новый СообщениеПользователю;
|
||||
Сообщение.Текст = "Сообщение не отправлено, т.к. не указан получатель.";
|
||||
Сообщение.Сообщить();
|
||||
КонецЕсли;
|
||||
// -- 79Vlad 20.06.2019 #174
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
НастройкиДляРаботыСТелеграм = ПолучитьНастройкиДляРаботыСТелеграм();
|
||||
Если НастройкиДляРаботыСТелеграм.ВсеНастройкиПолучены = Ложь Тогда
|
||||
// ++ 79Vlad 20.06.2019 #174 \\
|
||||
Если УведомлятьОРезультате Тогда
|
||||
Сообщение = Новый СообщениеПользователю;
|
||||
Сообщение.Текст = "Сообщение не отправлено, т.к. не смогли получить настройки телеграм.";
|
||||
Сообщение.Сообщить();
|
||||
КонецЕсли;
|
||||
// -- 79Vlad 20.06.2019 #174
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
//Процедура ОтправитьСообщениеTelegram(ТекстСообщения, МассивПользователейДляОтправки, УведомлятьОРезультате = Ложь) Экспорт
|
||||
//
|
||||
// Если МассивПользователейДляОтправки.Количество() = 0 Тогда
|
||||
// // ++ 79Vlad 20.06.2019 #174 \\
|
||||
// Если УведомлятьОРезультате Тогда
|
||||
// Сообщение = Новый СообщениеПользователю;
|
||||
// Сообщение.Текст = "Сообщение не отправлено, т.к. не указан получатель.";
|
||||
// Сообщение.Сообщить();
|
||||
// КонецЕсли;
|
||||
// // -- 79Vlad 20.06.2019 #174
|
||||
// Возврат;
|
||||
// КонецЕсли;
|
||||
//
|
||||
// НастройкиДляРаботыСТелеграм = ПолучитьНастройкиДляРаботыСТелеграм();
|
||||
// Если НастройкиДляРаботыСТелеграм.ВсеНастройкиПолучены = Ложь Тогда
|
||||
// // ++ 79Vlad 20.06.2019 #174 \\
|
||||
// Если УведомлятьОРезультате Тогда
|
||||
// Сообщение = Новый СообщениеПользователю;
|
||||
// Сообщение.Текст = "Сообщение не отправлено, т.к. не смогли получить настройки телеграм.";
|
||||
// Сообщение.Сообщить();
|
||||
// КонецЕсли;
|
||||
// // -- 79Vlad 20.06.2019 #174
|
||||
// Возврат;
|
||||
// КонецЕсли;
|
||||
|
||||
Для Каждого Пользователь Из МассивПользователейДляОтправки Цикл
|
||||
|
||||
ИДПользователяТелеграм = Пользователь.узИДПользователяТелеграмм;
|
||||
|
||||
Если Не ЗначениеЗаполнено(ИДПользователяТелеграм) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
//ТекстСообщения = СтрЗаменить(ТекстСообщения, "#", "");
|
||||
СообщениеОтправлено = Ложь;
|
||||
// Для Каждого Пользователь Из МассивПользователейДляОтправки Цикл
|
||||
//
|
||||
// ИДПользователяТелеграм = Пользователь.узИДПользователяТелеграмм;
|
||||
//
|
||||
// Если Не ЗначениеЗаполнено(ИДПользователяТелеграм) Тогда
|
||||
// Продолжить;
|
||||
// КонецЕсли;
|
||||
//
|
||||
// //ТекстСообщения = СтрЗаменить(ТекстСообщения, "#", "");
|
||||
// СообщениеОтправлено = Ложь;
|
||||
|
||||
// Данные =
|
||||
// "{
|
||||
//|""chat_id"":"""+Формат(Выборка.ИДПользователяТелеграмм, "ЧГ=")+""",
|
||||
//|""text"":""Текст"",
|
||||
//|""reply_markup"": {
|
||||
//| ""inline_keyboard"": [
|
||||
//| [{
|
||||
//| ""text"": ""ОбъектСогласования"",
|
||||
//| ""url"":""http://192.168.13.130/BPS/ru_RU/#e1cib/data/Справочник.бпсПредметыСогласований?ref=838318dbf213445c11e8e41681645d42""
|
||||
//| }]
|
||||
//|]
|
||||
//|}
|
||||
//|} ";
|
||||
// // Данные =
|
||||
// // "{
|
||||
// //|""chat_id"":"""+Формат(Выборка.ИДПользователяТелеграмм, "ЧГ=")+""",
|
||||
// //|""text"":""Текст"",
|
||||
// //|""reply_markup"": {
|
||||
// //| ""inline_keyboard"": [
|
||||
// //| [{
|
||||
// //| ""text"": ""ОбъектСогласования"",
|
||||
// //| ""url"":""http://192.168.13.130/BPS/ru_RU/#e1cib/data/Справочник.бпсПредметыСогласований?ref=838318dbf213445c11e8e41681645d42""
|
||||
// //| }]
|
||||
// //|]
|
||||
// //|}
|
||||
// //|} ";
|
||||
|
||||
Структура = Новый Соответствие;
|
||||
Структура.Вставить("chat_id",Формат(ИДПользователяТелеграм, "ЧГ="));
|
||||
Структура.Вставить("text", ТекстСообщения);
|
||||
|
||||
// ++ 79Vlad 20.06.2019 #174 \\
|
||||
Структура.Вставить("parse_mode","Markdown");
|
||||
Структура.Вставить("disable_web_page_preview","true");
|
||||
// -- 79Vlad 20.06.2019 #174
|
||||
|
||||
Массив_reply_markup = Новый Массив;
|
||||
|
||||
//Пример создания конпки в телеграм
|
||||
//Если ЗначениеЗаполнено(Выборка.ОбъектБД)
|
||||
// И ЗначениеЗаполнено(АдресПубликации) Тогда
|
||||
//
|
||||
// Структура_inline_keyboard = Новый Структура;
|
||||
// Структура_inline_keyboard.Вставить("text", Строка(Выборка.ОбъектБД));
|
||||
// Структура_inline_keyboard.Вставить("url", АдресПубликации + "#" + ПолучитьНавигационнуюСсылку(Выборка.ОбъектБД));
|
||||
//
|
||||
// Массив_reply_markup.Добавить(Структура_inline_keyboard);
|
||||
//КонецЕсли;
|
||||
//Массив_inline_keyboard = Новый Массив;
|
||||
//Массив_inline_keyboard.Добавить(Массив_reply_markup);
|
||||
//
|
||||
//Структура_reply_markup = Новый Структура;
|
||||
//Структура_reply_markup.Вставить("inline_keyboard",Массив_inline_keyboard);
|
||||
//
|
||||
//Структура.Вставить("reply_markup", Структура_reply_markup);
|
||||
|
||||
ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON;
|
||||
ЗаписьJSON = Новый ЗаписьJSON;
|
||||
ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON);
|
||||
ЗаписатьJSON(ЗаписьJSON, Структура);
|
||||
Данные = ЗаписьJSON.Закрыть();
|
||||
|
||||
Ресурс = "bot" + НастройкиДляРаботыСТелеграм.ТокенТелеграмБота + "/sendMessage";
|
||||
ЗапросHTTP = Новый HTTPЗапрос(Ресурс);
|
||||
ЗапросHTTP.Заголовки.Вставить("Content-type", "application/json");
|
||||
ЗапросHTTP.УстановитьТелоИзСтроки(Данные);
|
||||
// Структура = Новый Соответствие;
|
||||
// Структура.Вставить("chat_id",Формат(ИДПользователяТелеграм, "ЧГ="));
|
||||
// Структура.Вставить("text", ТекстСообщения);
|
||||
//
|
||||
// // ++ 79Vlad 20.06.2019 #174 \\
|
||||
// Структура.Вставить("parse_mode","Markdown");
|
||||
// Структура.Вставить("disable_web_page_preview","true");
|
||||
// // -- 79Vlad 20.06.2019 #174
|
||||
//
|
||||
// Массив_reply_markup = Новый Массив;
|
||||
//
|
||||
// //Пример создания конпки в телеграм
|
||||
// //Если ЗначениеЗаполнено(Выборка.ОбъектБД)
|
||||
// // И ЗначениеЗаполнено(АдресПубликации) Тогда
|
||||
// //
|
||||
// // Структура_inline_keyboard = Новый Структура;
|
||||
// // Структура_inline_keyboard.Вставить("text", Строка(Выборка.ОбъектБД));
|
||||
// // Структура_inline_keyboard.Вставить("url", АдресПубликации + "#" + ПолучитьНавигационнуюСсылку(Выборка.ОбъектБД));
|
||||
// //
|
||||
// // Массив_reply_markup.Добавить(Структура_inline_keyboard);
|
||||
// //КонецЕсли;
|
||||
// //Массив_inline_keyboard = Новый Массив;
|
||||
// //Массив_inline_keyboard.Добавить(Массив_reply_markup);
|
||||
// //
|
||||
// //Структура_reply_markup = Новый Структура;
|
||||
// //Структура_reply_markup.Вставить("inline_keyboard",Массив_inline_keyboard);
|
||||
// //
|
||||
// //Структура.Вставить("reply_markup", Структура_reply_markup);
|
||||
//
|
||||
// ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON;
|
||||
// ЗаписьJSON = Новый ЗаписьJSON;
|
||||
// ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON);
|
||||
// ЗаписатьJSON(ЗаписьJSON, Структура);
|
||||
// Данные = ЗаписьJSON.Закрыть();
|
||||
//
|
||||
// Ресурс = "bot" + НастройкиДляРаботыСТелеграм.ТокенТелеграмБота + "/sendMessage";
|
||||
// ЗапросHTTP = Новый HTTPЗапрос(Ресурс);
|
||||
// ЗапросHTTP.Заголовки.Вставить("Content-type", "application/json");
|
||||
// ЗапросHTTP.УстановитьТелоИзСтроки(Данные);
|
||||
|
||||
Ответ = Неопределено;
|
||||
ВыполнитьЗапросHTTP_Telegram(Ответ,
|
||||
ЗапросHTTP,
|
||||
НастройкиДляРаботыСТелеграм.МассивНастроекПроксиСерверов,
|
||||
НастройкиДляРаботыСТелеграм.НомерТекущейНастройкиПрокси);
|
||||
Если Ответ = Неопределено
|
||||
Или Ответ.КодСостояния < 200
|
||||
Или Ответ.КодСостояния >= 300 Тогда
|
||||
|
||||
ЗаписьЖурналаРегистрации("Телеграм.ОтправкаСообщений", УровеньЖурналаРегистрации.Ошибка,,
|
||||
, "Не смогли отправить сообщение телеграм пользователю [" + Пользователь.узИДПользователяТелеграмм+"]");
|
||||
Иначе
|
||||
СообщениеОтправлено = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
// ++ 79Vlad 20.06.2019 #174 \\
|
||||
Если УведомлятьОРезультате Тогда
|
||||
ТекстУведомления = "Сообщение удачно отправлено" ;
|
||||
Если НЕ СообщениеОтправлено Тогда
|
||||
ТекстУведомления = "Не смогли отправить сообщение телеграм пользователю [" + Пользователь.узИДПользователяТелеграмм+"]. Подробнее смотрите в журнале регистрации."
|
||||
КонецЕсли;
|
||||
Сообщение = Новый СообщениеПользователю;
|
||||
Сообщение.Текст = ТекстУведомления;
|
||||
Сообщение.Сообщить();
|
||||
КонецЕсли;
|
||||
// -- 79Vlad 20.06.2019 #174
|
||||
|
||||
КонецЦикла;
|
||||
// Ответ = Неопределено;
|
||||
// ВыполнитьЗапросHTTP_Telegram(Ответ,
|
||||
// ЗапросHTTP,
|
||||
// НастройкиДляРаботыСТелеграм.МассивНастроекПроксиСерверов,
|
||||
// НастройкиДляРаботыСТелеграм.НомерТекущейНастройкиПрокси);
|
||||
// Если Ответ = Неопределено
|
||||
// Или Ответ.КодСостояния < 200
|
||||
// Или Ответ.КодСостояния >= 300 Тогда
|
||||
//
|
||||
// ЗаписьЖурналаРегистрации("Телеграм.ОтправкаСообщений", УровеньЖурналаРегистрации.Ошибка,,
|
||||
// , "Не смогли отправить сообщение телеграм пользователю [" + Пользователь.узИДПользователяТелеграмм+"]");
|
||||
// Иначе
|
||||
// СообщениеОтправлено = Истина;
|
||||
// КонецЕсли;
|
||||
//
|
||||
// // ++ 79Vlad 20.06.2019 #174 \\
|
||||
// Если УведомлятьОРезультате Тогда
|
||||
// ТекстУведомления = "Сообщение удачно отправлено" ;
|
||||
// Если НЕ СообщениеОтправлено Тогда
|
||||
// ТекстУведомления = "Не смогли отправить сообщение телеграм пользователю [" + Пользователь.узИДПользователяТелеграмм+"]. Подробнее смотрите в журнале регистрации."
|
||||
// КонецЕсли;
|
||||
// Сообщение = Новый СообщениеПользователю;
|
||||
// Сообщение.Текст = ТекстУведомления;
|
||||
// Сообщение.Сообщить();
|
||||
// КонецЕсли;
|
||||
// // -- 79Vlad 20.06.2019 #174
|
||||
//
|
||||
// КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
//КонецПроцедуры
|
||||
|
||||
Процедура ВыполнитьЗапросHTTP_Telegram(Ответ, ЗапросHTTP, МассивНастроекПроксиСерверов, НомерТекущейНастройкиПрокси, ВОтветОжидаемJSON = Ложь)
|
||||
|
||||
Ответ = Неопределено;
|
||||
|
||||
// + #232 Ruflex @RomanUpworksTeam
|
||||
///+Ruflex
|
||||
///-Ruflex
|
||||
//Если (НомерТекущейНастройкиПрокси >= МассивНастроекПроксиСерверов.Количество()) ) Тогда
|
||||
// Возврат;
|
||||
//КонецЕсли;
|
||||
|
||||
Если (МассивНастроекПроксиСерверов.Количество()>0) Тогда
|
||||
|
||||
Если (НомерТекущейНастройкиПрокси >= МассивНастроекПроксиСерверов.Количество()) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
НастройкиПрокси = МассивНастроекПроксиСерверов[НомерТекущейНастройкиПрокси];
|
||||
ИнтернетПрокси = Новый ИнтернетПрокси(Ложь);
|
||||
ИнтернетПрокси.Установить("https",НастройкиПрокси.Адрес,НастройкиПрокси.Порт,НастройкиПрокси.Логин,НастройкиПрокси.Пароль,Ложь);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org", 443,,,ИнтернетПрокси,30,Новый ЗащищенноеСоединениеOpenSSL());
|
||||
|
||||
Иначе
|
||||
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org", 443,,,,30,Новый ЗащищенноеСоединениеOpenSSL());
|
||||
|
||||
КонецЕсли;
|
||||
// + #232 Ruflex @RomanUpworksTeam
|
||||
//Процедура ВыполнитьЗапросHTTP_Telegram(Ответ, ЗапросHTTP, МассивНастроекПроксиСерверов, НомерТекущейНастройкиПрокси, ВОтветОжидаемJSON = Ложь)
|
||||
//
|
||||
// Ответ = Неопределено;
|
||||
//
|
||||
// // + #232 Ruflex @RomanUpworksTeam
|
||||
// ///+Ruflex
|
||||
// ///-Ruflex
|
||||
// //Если (НомерТекущейНастройкиПрокси >= МассивНастроекПроксиСерверов.Количество()) ) Тогда
|
||||
// // Возврат;
|
||||
// //КонецЕсли;
|
||||
//
|
||||
// Если (МассивНастроекПроксиСерверов.Количество()>0) Тогда
|
||||
//
|
||||
// Если (НомерТекущейНастройкиПрокси >= МассивНастроекПроксиСерверов.Количество()) Тогда
|
||||
// Возврат;
|
||||
// КонецЕсли;
|
||||
//
|
||||
// НастройкиПрокси = МассивНастроекПроксиСерверов[НомерТекущейНастройкиПрокси];
|
||||
// ИнтернетПрокси = Новый ИнтернетПрокси(Ложь);
|
||||
// ИнтернетПрокси.Установить("https",НастройкиПрокси.Адрес,НастройкиПрокси.Порт,НастройкиПрокси.Логин,НастройкиПрокси.Пароль,Ложь);
|
||||
// Соединение = Новый HTTPСоединение("api.telegram.org", 443,,,ИнтернетПрокси,30,Новый ЗащищенноеСоединениеOpenSSL());
|
||||
//
|
||||
// Иначе
|
||||
//
|
||||
// Соединение = Новый HTTPСоединение("api.telegram.org", 443,,,,30,Новый ЗащищенноеСоединениеOpenSSL());
|
||||
//
|
||||
// КонецЕсли;
|
||||
// // + #232 Ruflex @RomanUpworksTeam
|
||||
|
||||
Попытка
|
||||
|
||||
Ответ = Соединение.ОтправитьДляОбработки(ЗапросHTTP);
|
||||
Если Ответ.КодСостояния < 200 Или Ответ.КодСостояния >= 300 Тогда
|
||||
НомерТекущейНастройкиПрокси = НомерТекущейНастройкиПрокси + 1;
|
||||
РегистрыСведений.узПроксиСерверы.ИзменитьОценкуРаботоспособностиПроксиСервера(НастройкиПрокси.Адрес, НастройкиПрокси.Порт, -1);
|
||||
Ответ = Неопределено;
|
||||
ВыполнитьЗапросHTTP_Telegram(Ответ, ЗапросHTTP, МассивНастроекПроксиСерверов, НомерТекущейНастройкиПрокси, ВОтветОжидаемJSON);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОтветСтрокаJSON = Ответ.ПолучитьТелоКакСтроку();
|
||||
// Попытка
|
||||
//
|
||||
// Ответ = Соединение.ОтправитьДляОбработки(ЗапросHTTP);
|
||||
// Если Ответ.КодСостояния < 200 Или Ответ.КодСостояния >= 300 Тогда
|
||||
// НомерТекущейНастройкиПрокси = НомерТекущейНастройкиПрокси + 1;
|
||||
// РегистрыСведений.узПроксиСерверы.ИзменитьОценкуРаботоспособностиПроксиСервера(НастройкиПрокси.Адрес, НастройкиПрокси.Порт, -1);
|
||||
// Ответ = Неопределено;
|
||||
// ВыполнитьЗапросHTTP_Telegram(Ответ, ЗапросHTTP, МассивНастроекПроксиСерверов, НомерТекущейНастройкиПрокси, ВОтветОжидаемJSON);
|
||||
// Возврат;
|
||||
// КонецЕсли;
|
||||
//
|
||||
// ОтветСтрокаJSON = Ответ.ПолучитьТелоКакСтроку();
|
||||
|
||||
Если ВОтветОжидаемJSON
|
||||
И СтрНайти(НРег(ОтветСтрокаJSON), "<html>") <> 0 Тогда //прокси может уже не работать, или внесен в гос реестр
|
||||
|
||||
НомерТекущейНастройкиПрокси = НомерТекущейНастройкиПрокси + 1;
|
||||
РегистрыСведений.узПроксиСерверы.ИзменитьОценкуРаботоспособностиПроксиСервера(НастройкиПрокси.Адрес, НастройкиПрокси.Порт, -1);
|
||||
Ответ = Неопределено;
|
||||
ВыполнитьЗапросHTTP_Telegram(Ответ, ЗапросHTTP, МассивНастроекПроксиСерверов, НомерТекущейНастройкиПрокси, ВОтветОжидаемJSON);
|
||||
Возврат;
|
||||
|
||||
Иначе
|
||||
// Если ВОтветОжидаемJSON
|
||||
// И СтрНайти(НРег(ОтветСтрокаJSON), "<html>") <> 0 Тогда //прокси может уже не работать, или внесен в гос реестр
|
||||
//
|
||||
// НомерТекущейНастройкиПрокси = НомерТекущейНастройкиПрокси + 1;
|
||||
// РегистрыСведений.узПроксиСерверы.ИзменитьОценкуРаботоспособностиПроксиСервера(НастройкиПрокси.Адрес, НастройкиПрокси.Порт, -1);
|
||||
// Ответ = Неопределено;
|
||||
// ВыполнитьЗапросHTTP_Telegram(Ответ, ЗапросHTTP, МассивНастроекПроксиСерверов, НомерТекущейНастройкиПрокси, ВОтветОжидаемJSON);
|
||||
// Возврат;
|
||||
//
|
||||
// Иначе
|
||||
|
||||
РегистрыСведений.узПроксиСерверы.ИзменитьОценкуРаботоспособностиПроксиСервера(НастройкиПрокси.Адрес, НастройкиПрокси.Порт, 1);
|
||||
Возврат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Исключение
|
||||
|
||||
// + #232 Ruflex @RomanUpworksTeam
|
||||
//НомерТекущейНастройкиПрокси = НомерТекущейНастройкиПрокси + 1;
|
||||
//РегистрыСведений.узПроксиСерверы.ИзменитьОценкуРаботоспособностиПроксиСервера(НастройкиПрокси.Адрес, НастройкиПрокси.Порт, -1);
|
||||
//ВыполнитьЗапросHTTP_Telegram(Ответ, ЗапросHTTP, МассивНастроекПроксиСерверов, НомерТекущейНастройкиПрокси, ВОтветОжидаемJSON);
|
||||
|
||||
Если (МассивНастроекПроксиСерверов.Количество()>0) Тогда
|
||||
// РегистрыСведений.узПроксиСерверы.ИзменитьОценкуРаботоспособностиПроксиСервера(НастройкиПрокси.Адрес, НастройкиПрокси.Порт, 1);
|
||||
// Возврат;
|
||||
//
|
||||
// КонецЕсли;
|
||||
//
|
||||
// Исключение
|
||||
//
|
||||
// // + #232 Ruflex @RomanUpworksTeam
|
||||
// //НомерТекущейНастройкиПрокси = НомерТекущейНастройкиПрокси + 1;
|
||||
// //РегистрыСведений.узПроксиСерверы.ИзменитьОценкуРаботоспособностиПроксиСервера(НастройкиПрокси.Адрес, НастройкиПрокси.Порт, -1);
|
||||
// //ВыполнитьЗапросHTTP_Telegram(Ответ, ЗапросHTTP, МассивНастроекПроксиСерверов, НомерТекущейНастройкиПрокси, ВОтветОжидаемJSON);
|
||||
//
|
||||
// Если (МассивНастроекПроксиСерверов.Количество()>0) Тогда
|
||||
|
||||
НомерТекущейНастройкиПрокси = НомерТекущейНастройкиПрокси + 1;
|
||||
РегистрыСведений.узПроксиСерверы.ИзменитьОценкуРаботоспособностиПроксиСервера(НастройкиПрокси.Адрес, НастройкиПрокси.Порт, -1);
|
||||
ВыполнитьЗапросHTTP_Telegram(Ответ, ЗапросHTTP, МассивНастроекПроксиСерверов, НомерТекущейНастройкиПрокси, ВОтветОжидаемJSON);
|
||||
|
||||
Конецесли;
|
||||
// - #232 Ruflex @RomanUpworksTeam
|
||||
КонецПопытки
|
||||
|
||||
КонецПроцедуры
|
||||
// НомерТекущейНастройкиПрокси = НомерТекущейНастройкиПрокси + 1;
|
||||
// РегистрыСведений.узПроксиСерверы.ИзменитьОценкуРаботоспособностиПроксиСервера(НастройкиПрокси.Адрес, НастройкиПрокси.Порт, -1);
|
||||
// ВыполнитьЗапросHTTP_Telegram(Ответ, ЗапросHTTP, МассивНастроекПроксиСерверов, НомерТекущейНастройкиПрокси, ВОтветОжидаемJSON);
|
||||
//
|
||||
// Конецесли;
|
||||
// // - #232 Ruflex @RomanUpworksTeam
|
||||
// КонецПопытки
|
||||
//
|
||||
//КонецПроцедуры
|
||||
|
@ -2,18 +2,21 @@
|
||||
&НаСервере
|
||||
Процедура ОтправитьСообщениеНаСервере()
|
||||
|
||||
//+ #240 Пиганов Г.В. 2020-09-08
|
||||
//+ #174 Кравцов А.В. 2019-06-06
|
||||
//МассивПользователейДляОтправки = Новый Массив;
|
||||
//МассивПользователейДляОтправки.Добавить(ЭтотОбъект.ПользовательДляОтправки);
|
||||
МассивПользователейКому = Новый Массив;
|
||||
МассивПользователейКому.Добавить(ЭтотОбъект.ПользовательДляОтправки);
|
||||
МассивПользователейДляОтправки = узТелеграммСервер.ПолучитьМассивПолучателей(МассивПользователейКому);
|
||||
//МассивПользователейКому = Новый Массив;
|
||||
//МассивПользователейКому.Добавить(ЭтотОбъект.ПользовательДляОтправки);
|
||||
//МассивПользователейДляОтправки = узТелеграммСервер.ПолучитьМассивПолучателей(МассивПользователейКому);
|
||||
//- #174 Кравцов А.В. 2019-06-06
|
||||
пОбъект = РеквизитФормыВЗначение("Объект");
|
||||
//пОбъект = РеквизитФормыВЗначение("Объект");
|
||||
// ++ 79Vlad 20.06.2019 #174 \\
|
||||
//пОбъект.ОтправитьСообщениеTelegram(ЭтотОбъект.ТескстСообщенияДляОтправки, МассивПользователейДляОтправки);
|
||||
пОбъект.ОтправитьСообщениеTelegram(ЭтотОбъект.ТескстСообщенияДляОтправки, МассивПользователейДляОтправки,Истина);
|
||||
//пОбъект.ОтправитьСообщениеTelegram(ЭтотОбъект.ТескстСообщенияДляОтправки, МассивПользователейДляОтправки,Истина);
|
||||
// -- 79Vlad 20.06.2019 #174
|
||||
узТелеграмБот.ОтправитьСообщение(ЭтотОбъект.ТескстСообщенияДляОтправки, ЭтотОбъект.ПользовательДляОтправки, Истина);
|
||||
//- #240 Пиганов Г.В. 2020-09-08
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -25,9 +28,17 @@
|
||||
&НаСервере
|
||||
Процедура ПрочитатьСообщенияНаСервере()
|
||||
|
||||
пОбъект = РеквизитФормыВЗначение("Объект");
|
||||
пОбъект.ПрочитатьСообщенияTelegram();
|
||||
ЗначениеВРеквизитФормы(пОбъект, "Объект");
|
||||
//+ #240 Пиганов Г.В. 2020-09-08
|
||||
//пОбъект = РеквизитФормыВЗначение("Объект");
|
||||
//пОбъект.ПрочитатьСообщенияTelegram();
|
||||
//ЗначениеВРеквизитФормы(пОбъект, "Объект");
|
||||
Ответ = Неопределено;
|
||||
НовыеСообщения = узТелеграмБот.ПолучитьНовыеСообщения(Объект.MaxMessangeID, Ответ);
|
||||
Объект.HTTPОтвет = Ответ.ПолучитьТелоКакСтроку();
|
||||
Для Каждого Сообщение Из НовыеСообщения Цикл
|
||||
узТелеграмБотКоманды.ОбработатьКомандыСообщения(Сообщение);
|
||||
КонецЦикла;
|
||||
//- #240 Пиганов Г.В. 2020-09-08
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
<Picture/>
|
||||
<Content>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">Constant.узТелеграмм_ТокенБота</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.узТелеграммСервер</xr:Item>
|
||||
<xr:Item xsi:type="xr:MDObjectRef">8f79d0f2-3bdc-43f6-ae0d-3393a1b1c89a</xr:Item>
|
||||
</Content>
|
||||
</Properties>
|
||||
<ChildObjects/>
|
||||
|
Loading…
x
Reference in New Issue
Block a user