Реализовал выбор способа получения обновлений в настройках
- Получение обновлений теперь выполняется через long polling (если не выбран вебхук) - Периодическая проверка обновлений с помощью фонового задания - Настройки позволяют переключаться между long polling и webhook для получения обновлений
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?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.19">
|
<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.19">
|
||||||
<CommonForm uuid="298dc1c3-f89d-4897-874e-bfd600985066">
|
<CommonForm uuid="92b9a10c-955a-4964-9143-5244b73710af">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Name>ТелеграмВебХук</Name>
|
<Name>Настройки</Name>
|
||||||
<Synonym>
|
<Synonym>
|
||||||
<v8:item>
|
<v8:item>
|
||||||
<v8:lang>ru</v8:lang>
|
<v8:lang>ru</v8:lang>
|
||||||
<v8:content>Телеграм веб хук</v8:content>
|
<v8:content>Настройки</v8:content>
|
||||||
</v8:item>
|
</v8:item>
|
||||||
</Synonym>
|
</Synonym>
|
||||||
<Comment/>
|
<Comment/>
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||||
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||||
</UsePurposes>
|
</UsePurposes>
|
||||||
<UseStandardCommands>false</UseStandardCommands>
|
<UseStandardCommands>true</UseStandardCommands>
|
||||||
<ExtendedPresentation/>
|
<ExtendedPresentation/>
|
||||||
<Explanation/>
|
<Explanation/>
|
||||||
</Properties>
|
</Properties>
|
||||||
67
src/cf/CommonForms/Настройки/Ext/Form.xml
Normal file
67
src/cf/CommonForms/Настройки/Ext/Form.xml
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcssch="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" 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: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.19">
|
||||||
|
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
|
||||||
|
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||||
|
<Events>
|
||||||
|
<Event name="AfterWrite">ПослеЗаписи</Event>
|
||||||
|
<Event name="BeforeWrite">ПередЗаписью</Event>
|
||||||
|
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||||
|
<Event name="BeforeWriteAtServer">ПередЗаписьюНаСервере</Event>
|
||||||
|
<Event name="OnWriteAtServer">ПриЗаписиНаСервере</Event>
|
||||||
|
<Event name="FillCheckProcessingAtServer">ОбработкаПроверкиЗаполненияНаСервере</Event>
|
||||||
|
</Events>
|
||||||
|
<ChildItems>
|
||||||
|
<InputField name="ТелеграмТокен" id="1">
|
||||||
|
<DataPath>НаборКонстант.ТелеграмТокен</DataPath>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||||
|
<ContextMenu name="ТелеграмТокенКонтекстноеМеню" id="2"/>
|
||||||
|
<ExtendedTooltip name="ТелеграмТокенРасширеннаяПодсказка" id="3"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="ТелеграмВебХук" id="4">
|
||||||
|
<DataPath>НаборКонстант.ТелеграмВебХук</DataPath>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
||||||
|
<ContextMenu name="ТелеграмВебХукКонтекстноеМеню" id="5"/>
|
||||||
|
<ExtendedTooltip name="ТелеграмВебХукРасширеннаяПодсказка" id="6"/>
|
||||||
|
</InputField>
|
||||||
|
<CheckBoxField name="ЛогироватьHttpЗапросы" id="7">
|
||||||
|
<DataPath>НаборКонстант.ЛогироватьHttpЗапросы</DataPath>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<CheckBoxType>Auto</CheckBoxType>
|
||||||
|
<ContextMenu name="ЛогироватьHttpЗапросыКонтекстноеМеню" id="8"/>
|
||||||
|
<ExtendedTooltip name="ЛогироватьHttpЗапросыРасширеннаяПодсказка" id="9"/>
|
||||||
|
</CheckBoxField>
|
||||||
|
<CheckBoxField name="ТелеграмИспользоватьВебХук" id="10">
|
||||||
|
<DataPath>НаборКонстант.ТелеграмИспользоватьВебХук</DataPath>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<CheckBoxType>Auto</CheckBoxType>
|
||||||
|
<ContextMenu name="ТелеграмИспользоватьВебХукКонтекстноеМеню" id="11"/>
|
||||||
|
<ExtendedTooltip name="ТелеграмИспользоватьВебХукРасширеннаяПодсказка" id="12"/>
|
||||||
|
<Events>
|
||||||
|
<Event name="OnChange">ТелеграмИспользоватьВебХукПриИзменении</Event>
|
||||||
|
</Events>
|
||||||
|
</CheckBoxField>
|
||||||
|
</ChildItems>
|
||||||
|
<Attributes>
|
||||||
|
<Attribute name="НаборКонстант" id="1">
|
||||||
|
<Type>
|
||||||
|
<v8:Type>cfg:ConstantsSet</v8:Type>
|
||||||
|
</Type>
|
||||||
|
<MainAttribute>true</MainAttribute>
|
||||||
|
<SavedData>true</SavedData>
|
||||||
|
<UseAlways>
|
||||||
|
<Field>НаборКонстант.ТелеграмВебХук</Field>
|
||||||
|
</UseAlways>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="КэшЗначений" id="2">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Кэш значений</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type/>
|
||||||
|
</Attribute>
|
||||||
|
</Attributes>
|
||||||
|
</Form>
|
||||||
51
src/cf/CommonForms/Настройки/Ext/Form/Module.bsl
Normal file
51
src/cf/CommonForms/Настройки/Ext/Form/Module.bsl
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ПослеЗаписи(ПараметрыЗаписи)
|
||||||
|
|
||||||
|
Если ПараметрыЗаписи.Свойство("Модифицированность") Тогда
|
||||||
|
ОбновитьИнтерфейс();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
|
||||||
|
|
||||||
|
Если НаборКонстант.ТелеграмИспользоватьВебХук И НЕ ЗначениеЗаполнено(НаборКонстант.ТелеграмВебХук) Тогда
|
||||||
|
Сообщение = Новый СообщениеПользователю;
|
||||||
|
Сообщение.Текст = "Не заполнен адрес вебхука";
|
||||||
|
Сообщение.Поле = "НаборКонстант.ТелеграмВебХук";
|
||||||
|
Сообщение.Сообщить();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Модифицированность Тогда
|
||||||
|
ПараметрыЗаписи.Вставить("Модифицированность");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||||
|
|
||||||
|
КэшЗначений = Новый Структура;
|
||||||
|
КэшЗначений.Вставить("ТелеграмИспользоватьВебХук", Константы.ТелеграмИспользоватьВебХук.Получить());
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
|
Если КэшЗначений.ТелеграмИспользоватьВебХук И НЕ ТекущийОбъект.ТелеграмИспользоватьВебХук Тогда
|
||||||
|
ТелеграмМетодыВызовСервера.DeleteWebhook();
|
||||||
|
ТелеграмРегламентВызовСервера.ЗапускПроверкиОбновлений();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если НЕ КэшЗначений.ТелеграмИспользоватьВебХук И ТекущийОбъект.ТелеграмИспользоватьВебХук Тогда
|
||||||
|
ТелеграмМетодыВызовСервера.SetWebHook(ТекущийОбъект.ТелеграмВебХук);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
УстановитьПривилегированныйРежим(Ложь);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcssch="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" 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: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.19">
|
|
||||||
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
|
|
||||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
|
||||||
<Events>
|
|
||||||
<Event name="AfterWrite">ПослеЗаписи</Event>
|
|
||||||
</Events>
|
|
||||||
<ChildItems>
|
|
||||||
<InputField name="ТелеграмВебХук" id="1">
|
|
||||||
<DataPath>НаборКонстант.ТелеграмВебХук</DataPath>
|
|
||||||
<EditMode>EnterOnInput</EditMode>
|
|
||||||
<AutoMaxWidth>false</AutoMaxWidth>
|
|
||||||
<MultiLine>true</MultiLine>
|
|
||||||
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
|
|
||||||
<ContextMenu name="ТелеграмВебХукКонтекстноеМеню" id="2"/>
|
|
||||||
<ExtendedTooltip name="ТелеграмВебХукРасширеннаяПодсказка" id="3"/>
|
|
||||||
</InputField>
|
|
||||||
<Button name="УдалитьВебХук" id="4">
|
|
||||||
<Type>UsualButton</Type>
|
|
||||||
<CommandName>Form.Command.УдалитьВебХук</CommandName>
|
|
||||||
<ExtendedTooltip name="УдалитьВебХукРасширеннаяПодсказка" id="5"/>
|
|
||||||
</Button>
|
|
||||||
<Button name="ВывестиИнформациюОВебхуке" id="6">
|
|
||||||
<Type>UsualButton</Type>
|
|
||||||
<CommandName>Form.Command.ВывестиИнформациюОВебхуке</CommandName>
|
|
||||||
<ExtendedTooltip name="ВывестиИнформациюОВебхукеРасширеннаяПодсказка" id="7"/>
|
|
||||||
</Button>
|
|
||||||
</ChildItems>
|
|
||||||
<Attributes>
|
|
||||||
<Attribute name="НаборКонстант" id="1">
|
|
||||||
<Type>
|
|
||||||
<v8:Type>cfg:ConstantsSet</v8:Type>
|
|
||||||
</Type>
|
|
||||||
<MainAttribute>true</MainAttribute>
|
|
||||||
<SavedData>true</SavedData>
|
|
||||||
</Attribute>
|
|
||||||
</Attributes>
|
|
||||||
<Commands>
|
|
||||||
<Command name="УдалитьВебХук" id="1">
|
|
||||||
<Title>
|
|
||||||
<v8:item>
|
|
||||||
<v8:lang>ru</v8:lang>
|
|
||||||
<v8:content>Удалить веб хук</v8:content>
|
|
||||||
</v8:item>
|
|
||||||
</Title>
|
|
||||||
<ToolTip>
|
|
||||||
<v8:item>
|
|
||||||
<v8:lang>ru</v8:lang>
|
|
||||||
<v8:content>Удалить веб хук</v8:content>
|
|
||||||
</v8:item>
|
|
||||||
</ToolTip>
|
|
||||||
<Action>УдалитьВебХук</Action>
|
|
||||||
</Command>
|
|
||||||
<Command name="ВывестиИнформациюОВебхуке" id="2">
|
|
||||||
<Title>
|
|
||||||
<v8:item>
|
|
||||||
<v8:lang>ru</v8:lang>
|
|
||||||
<v8:content>Вывести информацию о вебхуке</v8:content>
|
|
||||||
</v8:item>
|
|
||||||
</Title>
|
|
||||||
<ToolTip>
|
|
||||||
<v8:item>
|
|
||||||
<v8:lang>ru</v8:lang>
|
|
||||||
<v8:content>Вывести информацию о вебхуке</v8:content>
|
|
||||||
</v8:item>
|
|
||||||
</ToolTip>
|
|
||||||
<Action>ВывестиИнформациюОВебхуке</Action>
|
|
||||||
</Command>
|
|
||||||
</Commands>
|
|
||||||
</Form>
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
#Область ОбработчикиСобытийФормы
|
|
||||||
|
|
||||||
&НаКлиенте
|
|
||||||
Процедура ПослеЗаписи(ПараметрыЗаписи)
|
|
||||||
|
|
||||||
Ответ = ТелеграмМетодыВызовСервера.SetWebHook(ТелеграмВебХук());
|
|
||||||
ТекстСообщения = СтрШаблон(?(Ответ.Успех, "Успешно: %1", "Ошибка: %1"), Ответ.Описание);
|
|
||||||
Сообщение = Новый СообщениеПользователю;
|
|
||||||
Сообщение.Текст = ТекстСообщения;
|
|
||||||
Сообщение.Сообщить();
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
#КонецОбласти
|
|
||||||
|
|
||||||
|
|
||||||
#Область ОбработчикиКомандФормы
|
|
||||||
|
|
||||||
&НаКлиенте
|
|
||||||
Процедура УдалитьВебХук(Команда)
|
|
||||||
|
|
||||||
Ответ = ТелеграмМетодыВызовСервера.DeleteWebhook();
|
|
||||||
ТекстСообщения = СтрШаблон(?(Ответ.Успех, "Успешно: %1", "Ошибка: %1"), Ответ.Описание);
|
|
||||||
Сообщение = Новый СообщениеПользователю;
|
|
||||||
Сообщение.Текст = ТекстСообщения;
|
|
||||||
Сообщение.Сообщить();
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
&НаКлиенте
|
|
||||||
Процедура ВывестиИнформациюОВебхуке(Команда)
|
|
||||||
|
|
||||||
Ответ = ТелеграмМетодыВызовСервера.GetWebhookInfo();
|
|
||||||
Если Ответ.Успех И ЗначениеЗаполнено(Ответ.Тело) Тогда
|
|
||||||
Для каждого ПараметрОтвета Из Ответ.Тело["result"] Цикл
|
|
||||||
Сообщение = Новый СообщениеПользователю;
|
|
||||||
Сообщение.Текст = "" + ПараметрОтвета.Ключ + "=" + ПараметрОтвета.Значение;
|
|
||||||
Сообщение.Сообщить();
|
|
||||||
КонецЦикла;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
#КонецОбласти
|
|
||||||
|
|
||||||
#Область СлужебныеПроцедурыИФункции
|
|
||||||
|
|
||||||
&НаСервереБезКонтекста
|
|
||||||
Функция ТелеграмВебХук()
|
|
||||||
|
|
||||||
Возврат Константы.ТелеграмВебХук.Получить();
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
#КонецОбласти
|
|
||||||
|
|
||||||
@@ -23,20 +23,21 @@
|
|||||||
Процедура ОбработатьСообщение(ОбновлениеТелеграм)
|
Процедура ОбработатьСообщение(ОбновлениеТелеграм)
|
||||||
|
|
||||||
ДанныеПользователя = РаботаСОбновлениямиВызовСервера.ДанныеПользователя(ОбновлениеТелеграм.ИдЧата);
|
ДанныеПользователя = РаботаСОбновлениямиВызовСервера.ДанныеПользователя(ОбновлениеТелеграм.ИдЧата);
|
||||||
|
КомандаДляОбработки = ОбновлениеТелеграм.Сообщение.text;
|
||||||
|
|
||||||
Если ОбновлениеТелеграм.Сообщение.text = "/start" Тогда
|
Если КомандаДляОбработки = "/start" Тогда
|
||||||
ОбработатьКомандуСтарт(ОбновлениеТелеграм);
|
ОбработатьКомандуСтарт(ОбновлениеТелеграм);
|
||||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/subscribe" Тогда
|
ИначеЕсли КомандаДляОбработки = "/subscribe" Тогда
|
||||||
ОбработатьКомандуПодписки(ОбновлениеТелеграм);
|
ОбработатьКомандуПодписки(ОбновлениеТелеграм);
|
||||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/add" Тогда
|
ИначеЕсли КомандаДляОбработки = "/add" Тогда
|
||||||
ОбработатьКомандуДобавитьКонфигурацию(ОбновлениеТелеграм);
|
ОбработатьКомандуДобавитьКонфигурацию(ОбновлениеТелеграм);
|
||||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/delete" Тогда
|
ИначеЕсли КомандаДляОбработки = "/delete" Тогда
|
||||||
ОбработатьКомандуУдалитьКонфигурацию(ОбновлениеТелеграм);
|
ОбработатьКомандуУдалитьКонфигурацию(ОбновлениеТелеграм);
|
||||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/notify_on" Тогда
|
ИначеЕсли КомандаДляОбработки = "/notify_on" Тогда
|
||||||
ОбработатьКомандуВключитьОповещения(ОбновлениеТелеграм);
|
ОбработатьКомандуВключитьОповещения(ОбновлениеТелеграм);
|
||||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/notify_off" Тогда
|
ИначеЕсли КомандаДляОбработки = "/notify_off" Тогда
|
||||||
ОбработатьКомандуВыключитьОповещения(ОбновлениеТелеграм);
|
ОбработатьКомандуВыключитьОповещения(ОбновлениеТелеграм);
|
||||||
ИначеЕсли ОбновлениеТелеграм.Сообщение.text = "/status" Тогда
|
ИначеЕсли КомандаДляОбработки = "/status" Тогда
|
||||||
ОбработатьКомандуСтатусКонфигурации(ОбновлениеТелеграм);
|
ОбработатьКомандуСтатусКонфигурации(ОбновлениеТелеграм);
|
||||||
ИначеЕсли ДанныеПользователя <> Неопределено И ДанныеПользователя.СтатусДиалога =
|
ИначеЕсли ДанныеПользователя <> Неопределено И ДанныеПользователя.СтатусДиалога =
|
||||||
Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии Тогда
|
Перечисления.ТелеграмСтатусДиалога.ОжиданиеВводаВерсии Тогда
|
||||||
@@ -119,12 +120,15 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ИмяКонфигурации = СокрЛП(Сред(ТекстСообщения, СтрДлина(Команда) + 1));
|
ИмяКонфигурации = СокрЛП(Сред(ТекстСообщения, СтрДлина(Команда) + 1));
|
||||||
|
|
||||||
Конфигурация = РаботаСОбновлениямиВызовСервера.КонфигурацияПоИмени(ИмяКонфигурации);
|
Конфигурация = РаботаСОбновлениямиВызовСервера.КонфигурацияПоИмени(ИмяКонфигурации);
|
||||||
|
|
||||||
Если Конфигурация <> Неопределено Тогда
|
Если Конфигурация <> Неопределено Тогда
|
||||||
ДанныеКонфигурации = РаботаСОбновлениямиВызовСервера.СтатусКонфигурацииИзПодписки(ИдЧата, Конфигурация);
|
ДанныеКонфигурации = РаботаСОбновлениямиВызовСервера.СтатусКонфигурацииИзПодписки(ИдЧата, Конфигурация);
|
||||||
|
|
||||||
|
Если ДанныеКонфигурации = Неопределено Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ТекстОтвета = СтрШаблон("ℹ %1%2 %3 ➡ %4",
|
ТекстОтвета = СтрШаблон("ℹ %1%2 %3 ➡ %4",
|
||||||
ДанныеКонфигурации.Наименование,
|
ДанныеКонфигурации.Наименование,
|
||||||
Символы.ПС,
|
Символы.ПС,
|
||||||
|
|||||||
@@ -45,13 +45,16 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция GetUpdates() Экспорт
|
Функция GetUpdates(Таймаут = 0) Экспорт
|
||||||
|
|
||||||
Смещение = ? (ТелеграмОбщегоНазначения.ИдПоследнегоСообщения() = 0,0,
|
Смещение = ? (ТелеграмОбщегоНазначения.ИдПоследнегоСообщения() = 0,0,
|
||||||
Формат(ТелеграмОбщегоНазначения.ИдПоследнегоСообщения() + 1, "ЧГ=0"));
|
Формат(ТелеграмОбщегоНазначения.ИдПоследнегоСообщения() + 1, "ЧГ=0"));
|
||||||
ПараметрыЗапроса = Новый Структура("offset", Смещение);
|
ПараметрыЗапроса = Новый Структура("offset", Смещение);
|
||||||
|
Если Таймаут > 0 Тогда
|
||||||
|
ПараметрыЗапроса.Вставить("timeout", Таймаут);
|
||||||
|
КонецЕсли;
|
||||||
АдресРесурса = АдресРесурсаПоИмениМетода("getUpdates");
|
АдресРесурса = АдресРесурсаПоИмениМетода("getUpdates");
|
||||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, ?(Таймаут > 0, Таймаут, 15), Новый ЗащищенноеСоединениеOpenSSL);
|
||||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|||||||
@@ -21,28 +21,6 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Получить обновления, пришедшие от вебхука и сохранить в базу
|
|
||||||
Процедура ОбработатьИСохранитьОбновленияТелеграм(ТелоЗапроса) Экспорт
|
|
||||||
|
|
||||||
ДанныеОбновления = HttpОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоЗапроса);
|
|
||||||
|
|
||||||
Если ДанныеОбновления = Неопределено Тогда
|
|
||||||
Возврат;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если ЭтоМассивОбновлений(ДанныеОбновления) Тогда
|
|
||||||
МассивОбновлений = ДанныеОбновления["result"];
|
|
||||||
Для каждого Обновление Из МассивОбновлений Цикл
|
|
||||||
ПараметрыСообщения = СтруктураСообщенияТелеграм(Обновление);
|
|
||||||
СохранитьСообщениеВБазу(ПараметрыСообщения);
|
|
||||||
КонецЦикла;
|
|
||||||
ИначеЕсли ЭтоОдиночноеОбновление(ДанныеОбновления) Тогда
|
|
||||||
ПараметрыСообщения = СтруктураСообщенияТелеграм(ДанныеОбновления);
|
|
||||||
СохранитьСообщениеВБазу(ПараметрыСообщения);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
Функция ОбновленияТелеграм(ТелоЗапроса) Экспорт
|
Функция ОбновленияТелеграм(ТелоЗапроса) Экспорт
|
||||||
|
|
||||||
Если ТипЗнч(ТелоЗапроса) = Тип("Соответствие") Тогда
|
Если ТипЗнч(ТелоЗапроса) = Тип("Соответствие") Тогда
|
||||||
@@ -62,22 +40,36 @@
|
|||||||
Если ЭтоМассивОбновлений(ДанныеОбновления) Тогда
|
Если ЭтоМассивОбновлений(ДанныеОбновления) Тогда
|
||||||
МассивОбновлений = ДанныеОбновления["result"];
|
МассивОбновлений = ДанныеОбновления["result"];
|
||||||
Для каждого Обновление Из МассивОбновлений Цикл
|
Для каждого Обновление Из МассивОбновлений Цикл
|
||||||
ПараметрыСообщения = СтруктураСообщенияТелеграм(Обновление);
|
ПараметрыСообщения = ПараметрыСообщения(Обновление);
|
||||||
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения)
|
Если ПараметрыСообщения <> Неопределено Тогда
|
||||||
|
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения);
|
||||||
|
КонецЕсли;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
ИначеЕсли ЭтоОдиночноеОбновление(ДанныеОбновления) Тогда
|
ИначеЕсли ЭтоОдиночноеОбновление(ДанныеОбновления) Тогда
|
||||||
Если ДанныеОбновления.Получить("message") <> Неопределено Тогда
|
ПараметрыСообщения = ПараметрыСообщения(ДанныеОбновления);
|
||||||
ПараметрыСообщения = СтруктураСообщенияТелеграм(ДанныеОбновления);
|
Если ПараметрыСообщения <> Неопределено Тогда
|
||||||
ИначеЕсли ДанныеОбновления.Получить("callback_query") <> Неопределено Тогда
|
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения);
|
||||||
ПараметрыСообщения = СтруктураКоллбэкЗапроса(ДанныеОбновления);
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения)
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат МассивСообщенийТелеграм;
|
Возврат МассивСообщенийТелеграм;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПараметрыСообщения(ДанныеОбновления)
|
||||||
|
|
||||||
|
Результат = Неопределено;
|
||||||
|
|
||||||
|
Если ДанныеОбновления.Получить("message") <> Неопределено Тогда
|
||||||
|
Результат = СтруктураСообщенияТелеграм(ДанныеОбновления);
|
||||||
|
ИначеЕсли ДанныеОбновления.Получить("callback_query") <> Неопределено Тогда
|
||||||
|
Результат = СтруктураКоллбэкЗапроса(ДанныеОбновления);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Результат;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
Функция СтруктураСообщенияТелеграм(Обновление)
|
Функция СтруктураСообщенияТелеграм(Обновление)
|
||||||
|
|
||||||
ДанныеСообщения = Обновление["message"];
|
ДанныеСообщения = Обновление["message"];
|
||||||
@@ -131,6 +123,10 @@
|
|||||||
|
|
||||||
МенеджерЗаписи = РегистрыСведений.ТелеграмСообщения.СоздатьМенеджерЗаписи();
|
МенеджерЗаписи = РегистрыСведений.ТелеграмСообщения.СоздатьМенеджерЗаписи();
|
||||||
ЗаполнитьЗначенияСвойств(МенеджерЗаписи, СтруктураСообщения);
|
ЗаполнитьЗначенияСвойств(МенеджерЗаписи, СтруктураСообщения);
|
||||||
|
Если СтруктураСообщения.Свойство("ИдКоллбэкЗапроса") Тогда
|
||||||
|
МенеджерЗаписи.ИдСообщения = СтруктураСообщения.ИдКоллбэкЗапроса;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
МенеджерЗаписи.Записать();
|
МенеджерЗаписи.Записать();
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|||||||
@@ -3,20 +3,20 @@
|
|||||||
// Получить обновления и обработать их по расписанию
|
// Получить обновления и обработать их по расписанию
|
||||||
Процедура ПроверкаОбновленийПоРасписанию() Экспорт
|
Процедура ПроверкаОбновленийПоРасписанию() Экспорт
|
||||||
|
|
||||||
// Проверка установлен ли вебхук
|
Пока Истина Цикл
|
||||||
Ответ = HttpОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелеграмМетодыВызовСервера.GetWebhookInfo());
|
Если ПолучитьФункциональнуюОпцию("ТелеграмИспользоватьВебХук") Тогда
|
||||||
Если Ответ["ok"] И ЗначениеЗаполнено(Ответ["result"]["url"]) Тогда
|
Прервать;
|
||||||
Возврат;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
|
||||||
|
Ответ = ТелеграмМетодыВызовСервера.GetUpdates(30);
|
||||||
Ответ = ТелеграмМетодыВызовСервера.GetUpdates();
|
Если Ответ.Успех Тогда
|
||||||
Если Ответ <> Неопределено Тогда
|
БотОбщегоНазначения.ОбработкаКомандыБота(Ответ.Тело);
|
||||||
МассивСообщенийТелеграм = ТелеграмОбщегоНазначения.ОбновленияТелеграм(Ответ);
|
Иначе
|
||||||
Для каждого СообщениеТелеграм Из МассивСообщенийТелеграм Цикл
|
Если СтрНайти(Ответ.Описание, "can't use getUpdates method while webhook is active") <> 0 Тогда
|
||||||
ТелеграмОбщегоНазначения.СохранитьСообщениеВБазу(СообщениеТелеграм);
|
ТелеграмМетодыВызовСервера.DeleteWebhook();
|
||||||
ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, СообщениеТелеграм.Сообщение.text)
|
КонецЕсли;
|
||||||
КонецЦикла;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЦикла;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|||||||
23
src/cf/CommonModules/ТелеграмРегламентВызовСервера.xml
Normal file
23
src/cf/CommonModules/ТелеграмРегламентВызовСервера.xml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?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.19">
|
||||||
|
<CommonModule uuid="0b8f8a9c-1ef3-45e8-b342-e6956990e2af">
|
||||||
|
<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>true</Privileged>
|
||||||
|
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||||
|
</Properties>
|
||||||
|
</CommonModule>
|
||||||
|
</MetaDataObject>
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
#Область ПрограммныйИнтерфейс
|
||||||
|
|
||||||
|
Процедура ЗапускПроверкиОбновлений() Экспорт
|
||||||
|
|
||||||
|
Если НЕ ПолучитьФункциональнуюОпцию("ТелеграмИспользоватьВебХук") Тогда
|
||||||
|
Попытка
|
||||||
|
ФоновыеЗадания.Выполнить("ТелеграмРегламент.ПроверкаОбновленийПоРасписанию",,"GetTelegramUpdatesLongPolling");
|
||||||
|
Исключение
|
||||||
|
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка,,,
|
||||||
|
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||||
|
КонецПопытки;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
@@ -249,6 +249,9 @@
|
|||||||
<Subsystem>Обновления</Subsystem>
|
<Subsystem>Обновления</Subsystem>
|
||||||
<CommonPicture>КартинкаБот</CommonPicture>
|
<CommonPicture>КартинкаБот</CommonPicture>
|
||||||
<CommonModule>HttpОбщегоНазначенияВызовСервера</CommonModule>
|
<CommonModule>HttpОбщегоНазначенияВызовСервера</CommonModule>
|
||||||
|
<CommonModule>БотОбщегоНазначения</CommonModule>
|
||||||
|
<CommonModule>ОбновленияРегламент</CommonModule>
|
||||||
|
<CommonModule>ОбщегоНазначенияКлиентСервер</CommonModule>
|
||||||
<CommonModule>РаботаСОбновлениямиВызовСервера</CommonModule>
|
<CommonModule>РаботаСОбновлениямиВызовСервера</CommonModule>
|
||||||
<CommonModule>РаботаСФайламиКлиентСервер</CommonModule>
|
<CommonModule>РаботаСФайламиКлиентСервер</CommonModule>
|
||||||
<CommonModule>ТелеграмМетодыВызовСервера</CommonModule>
|
<CommonModule>ТелеграмМетодыВызовСервера</CommonModule>
|
||||||
@@ -256,16 +259,15 @@
|
|||||||
<CommonModule>ТелеграмПовторноеИспользование</CommonModule>
|
<CommonModule>ТелеграмПовторноеИспользование</CommonModule>
|
||||||
<CommonModule>ТелеграмРаботаСКлавиатурой</CommonModule>
|
<CommonModule>ТелеграмРаботаСКлавиатурой</CommonModule>
|
||||||
<CommonModule>ТелеграмРегламент</CommonModule>
|
<CommonModule>ТелеграмРегламент</CommonModule>
|
||||||
<CommonModule>БотОбщегоНазначения</CommonModule>
|
<CommonModule>ТелеграмРегламентВызовСервера</CommonModule>
|
||||||
<CommonModule>ОбщегоНазначенияКлиентСервер</CommonModule>
|
|
||||||
<CommonModule>ОбновленияРегламент</CommonModule>
|
|
||||||
<HTTPService>HTTPСервис_Telegram</HTTPService>
|
<HTTPService>HTTPСервис_Telegram</HTTPService>
|
||||||
<ScheduledJob>ПроверкаОбновленийТелеграм</ScheduledJob>
|
|
||||||
<ScheduledJob>ПроверкаАктуальностиКонфигураций</ScheduledJob>
|
<ScheduledJob>ПроверкаАктуальностиКонфигураций</ScheduledJob>
|
||||||
|
<FunctionalOption>ТелеграмИспользоватьВебХук</FunctionalOption>
|
||||||
<Constant>ТелеграмТокен</Constant>
|
<Constant>ТелеграмТокен</Constant>
|
||||||
<Constant>ТелеграмВебХук</Constant>
|
<Constant>ТелеграмВебХук</Constant>
|
||||||
<Constant>ЛогироватьHttpЗапросы</Constant>
|
<Constant>ЛогироватьHttpЗапросы</Constant>
|
||||||
<CommonForm>ТелеграмВебХук</CommonForm>
|
<Constant>ТелеграмИспользоватьВебХук</Constant>
|
||||||
|
<CommonForm>Настройки</CommonForm>
|
||||||
<Catalog>ТелеграмПользователь</Catalog>
|
<Catalog>ТелеграмПользователь</Catalog>
|
||||||
<Catalog>ТелеграмСообщение</Catalog>
|
<Catalog>ТелеграмСообщение</Catalog>
|
||||||
<Catalog>ТелеграмДокумент</Catalog>
|
<Catalog>ТелеграмДокумент</Catalog>
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
<Type>
|
<Type>
|
||||||
<v8:Type>xs:boolean</v8:Type>
|
<v8:Type>xs:boolean</v8:Type>
|
||||||
</Type>
|
</Type>
|
||||||
<UseStandardCommands>true</UseStandardCommands>
|
<UseStandardCommands>false</UseStandardCommands>
|
||||||
<DefaultForm/>
|
<DefaultForm/>
|
||||||
<ExtendedPresentation/>
|
<ExtendedPresentation/>
|
||||||
<Explanation/>
|
<Explanation/>
|
||||||
|
|||||||
@@ -31,8 +31,8 @@
|
|||||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
</v8:StringQualifiers>
|
</v8:StringQualifiers>
|
||||||
</Type>
|
</Type>
|
||||||
<UseStandardCommands>true</UseStandardCommands>
|
<UseStandardCommands>false</UseStandardCommands>
|
||||||
<DefaultForm>CommonForm.ТелеграмВебХук</DefaultForm>
|
<DefaultForm/>
|
||||||
<ExtendedPresentation/>
|
<ExtendedPresentation/>
|
||||||
<Explanation/>
|
<Explanation/>
|
||||||
<PasswordMode>false</PasswordMode>
|
<PasswordMode>false</PasswordMode>
|
||||||
|
|||||||
58
src/cf/Constants/ТелеграмИспользоватьВебХук.xml
Normal file
58
src/cf/Constants/ТелеграмИспользоватьВебХук.xml
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
<?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.19">
|
||||||
|
<Constant uuid="c8ca36f3-ed9b-4dbb-bbec-82bc51ae3ff3">
|
||||||
|
<InternalInfo>
|
||||||
|
<xr:GeneratedType name="ConstantManager.ТелеграмИспользоватьВебХук" category="Manager">
|
||||||
|
<xr:TypeId>9912d333-64ab-49bf-a71a-87474c019bea</xr:TypeId>
|
||||||
|
<xr:ValueId>ffdfad80-3e08-4abc-9e41-fc787988d12a</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="ConstantValueManager.ТелеграмИспользоватьВебХук" category="ValueManager">
|
||||||
|
<xr:TypeId>12109e6a-54b7-494c-94ec-dc4fbc1dbbd0</xr:TypeId>
|
||||||
|
<xr:ValueId>7023cb97-365d-4772-8087-3afa07f0c4a3</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
<xr:GeneratedType name="ConstantValueKey.ТелеграмИспользоватьВебХук" category="ValueKey">
|
||||||
|
<xr:TypeId>13a35c4a-835b-4f75-a0a3-e15f7af2dc08</xr:TypeId>
|
||||||
|
<xr:ValueId>7c1ee7cc-e485-447d-b999-bf52bf1343c1</xr:ValueId>
|
||||||
|
</xr:GeneratedType>
|
||||||
|
</InternalInfo>
|
||||||
|
<Properties>
|
||||||
|
<Name>ТелеграмИспользоватьВебХук</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Телеграм использовать веб хук</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:boolean</v8:Type>
|
||||||
|
</Type>
|
||||||
|
<UseStandardCommands>false</UseStandardCommands>
|
||||||
|
<DefaultForm/>
|
||||||
|
<ExtendedPresentation/>
|
||||||
|
<Explanation/>
|
||||||
|
<PasswordMode>false</PasswordMode>
|
||||||
|
<Format/>
|
||||||
|
<EditFormat/>
|
||||||
|
<ToolTip/>
|
||||||
|
<MarkNegatives>false</MarkNegatives>
|
||||||
|
<Mask/>
|
||||||
|
<MultiLine>false</MultiLine>
|
||||||
|
<ExtendedEdit>false</ExtendedEdit>
|
||||||
|
<MinValue xsi:nil="true"/>
|
||||||
|
<MaxValue xsi:nil="true"/>
|
||||||
|
<FillChecking>DontCheck</FillChecking>
|
||||||
|
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||||
|
<ChoiceParameterLinks/>
|
||||||
|
<ChoiceParameters/>
|
||||||
|
<QuickChoice>Auto</QuickChoice>
|
||||||
|
<ChoiceForm/>
|
||||||
|
<LinkByType/>
|
||||||
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
|
<DataLockControlMode>Managed</DataLockControlMode>
|
||||||
|
<DataHistory>DontUse</DataHistory>
|
||||||
|
<UpdateDataHistoryImmediatelyAfterWrite>false</UpdateDataHistoryImmediatelyAfterWrite>
|
||||||
|
<ExecuteAfterWriteDataHistoryVersionProcessing>false</ExecuteAfterWriteDataHistoryVersionProcessing>
|
||||||
|
</Properties>
|
||||||
|
</Constant>
|
||||||
|
</MetaDataObject>
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
</v8:StringQualifiers>
|
</v8:StringQualifiers>
|
||||||
</Type>
|
</Type>
|
||||||
<UseStandardCommands>true</UseStandardCommands>
|
<UseStandardCommands>false</UseStandardCommands>
|
||||||
<DefaultForm/>
|
<DefaultForm/>
|
||||||
<ExtendedPresentation/>
|
<ExtendedPresentation/>
|
||||||
<Explanation/>
|
<Explanation/>
|
||||||
|
|||||||
@@ -38,10 +38,7 @@
|
|||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура PostЗапрос(Команда)
|
Процедура PostЗапрос(Команда)
|
||||||
|
|
||||||
МассивРядов = Новый Массив;
|
Клавиатура = КлавиатураОтвета();
|
||||||
МассивКнопок = ТелеграмРаботаСКлавиатурой.РядКнопок("Конфигурации;Подписки");
|
|
||||||
МассивРядов.Добавить(МассивКнопок);
|
|
||||||
Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураОтвета(МассивРядов, Истина, Истина);
|
|
||||||
|
|
||||||
Ответ = ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, СообщениеДляОтправки,
|
Ответ = ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, СообщениеДляОтправки,
|
||||||
ПредопределенноеЗначение("Перечисление.ТелеграмРежимРазметки.HTML"), Клавиатура);
|
ПредопределенноеЗначение("Перечисление.ТелеграмРежимРазметки.HTML"), Клавиатура);
|
||||||
@@ -51,6 +48,16 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервереБезКонтекста
|
||||||
|
Функция КлавиатураОтвета()
|
||||||
|
|
||||||
|
МассивРядов = Новый Массив;
|
||||||
|
МассивКнопок = ТелеграмРаботаСКлавиатурой.РядКнопок("Конфигурации;Подписки");
|
||||||
|
МассивРядов.Добавить(МассивКнопок);
|
||||||
|
Возврат ТелеграмРаботаСКлавиатурой.КлавиатураОтвета(МассивРядов, Истина, Истина);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура DeleteWebhook(Команда)
|
Процедура DeleteWebhook(Команда)
|
||||||
|
|
||||||
|
|||||||
6
src/cf/Ext/ManagedApplicationModule.bsl
Normal file
6
src/cf/Ext/ManagedApplicationModule.bsl
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
|
||||||
|
Процедура ПриНачалеРаботыСистемы()
|
||||||
|
|
||||||
|
ТелеграмРегламентВызовСервера.ЗапускПроверкиОбновлений();
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
@@ -1,22 +1,20 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?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.19">
|
<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.19">
|
||||||
<ScheduledJob uuid="4cf78f82-d10a-4ca4-88f3-1d4a0b0198de">
|
<FunctionalOption uuid="d932ef2d-9a85-49b0-ad5d-5e1f7579c75b">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Name>ПроверкаОбновленийТелеграм</Name>
|
<Name>ТелеграмИспользоватьВебХук</Name>
|
||||||
<Synonym>
|
<Synonym>
|
||||||
<v8:item>
|
<v8:item>
|
||||||
<v8:lang>ru</v8:lang>
|
<v8:lang>ru</v8:lang>
|
||||||
<v8:content>Проверка обновлений телеграм</v8:content>
|
<v8:content>Телеграм использовать веб хук</v8:content>
|
||||||
</v8:item>
|
</v8:item>
|
||||||
</Synonym>
|
</Synonym>
|
||||||
<Comment/>
|
<Comment/>
|
||||||
<MethodName>CommonModule.ТелеграмРегламент.ПроверкаОбновленийПоРасписанию</MethodName>
|
<Location>Constant.ТелеграмИспользоватьВебХук</Location>
|
||||||
<Description/>
|
<PrivilegedGetMode>true</PrivilegedGetMode>
|
||||||
<Key/>
|
<Content>
|
||||||
<Use>false</Use>
|
<xr:Object>Constant.ТелеграмВебХук</xr:Object>
|
||||||
<Predefined>false</Predefined>
|
</Content>
|
||||||
<RestartCountOnFailure>3</RestartCountOnFailure>
|
|
||||||
<RestartIntervalOnFailure>10</RestartIntervalOnFailure>
|
|
||||||
</Properties>
|
</Properties>
|
||||||
</ScheduledJob>
|
</FunctionalOption>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<JobSchedule xmlns="http://v8.1c.ru/8.3/xcf/extrnprops" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.19">
|
|
||||||
<Schedule BeginDate="0001-01-01" EndDate="0001-01-01" BeginTime="00:00:00" EndTime="00:00:00" CompletionTime="00:00:00" CompletionInterval="0" RepeatPeriodInDay="15" RepeatPause="0" WeekDayInMonth="0" DayInMonth="0" WeeksPeriod="1" DaysRepeatPeriod="1">
|
|
||||||
<ent:WeekDays>1 2 3 4 5 6 7</ent:WeekDays>
|
|
||||||
<ent:Months>1 2 3 4 5 6 7 8 9 10 11 12</ent:Months>
|
|
||||||
</Schedule>
|
|
||||||
</JobSchedule>
|
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
<xr:Item xsi:type="xr:MDObjectRef">Catalog.ТелеграмСообщение</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">Catalog.ТелеграмСообщение</xr:Item>
|
||||||
<xr:Item xsi:type="xr:MDObjectRef">HTTPService.HTTPСервис_Telegram</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">HTTPService.HTTPСервис_Telegram</xr:Item>
|
||||||
<xr:Item xsi:type="xr:MDObjectRef">Constant.ТелеграмВебХук</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">Constant.ТелеграмВебХук</xr:Item>
|
||||||
<xr:Item xsi:type="xr:MDObjectRef">CommonForm.ТелеграмВебХук</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">298dc1c3-f89d-4897-874e-bfd600985066</xr:Item>
|
||||||
<xr:Item xsi:type="xr:MDObjectRef">Constant.ЛогироватьHttpЗапросы</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">Constant.ЛогироватьHttpЗапросы</xr:Item>
|
||||||
<xr:Item xsi:type="xr:MDObjectRef">Document.ЛогHttpЗапроса</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">Document.ЛогHttpЗапроса</xr:Item>
|
||||||
<xr:Item xsi:type="xr:MDObjectRef">Catalog.ТелеграмДокумент</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">Catalog.ТелеграмДокумент</xr:Item>
|
||||||
@@ -33,6 +33,9 @@
|
|||||||
<xr:Item xsi:type="xr:MDObjectRef">Enum.ВидыДанныхКоллбэков</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">Enum.ВидыДанныхКоллбэков</xr:Item>
|
||||||
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.БотОбщегоНазначения</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.БотОбщегоНазначения</xr:Item>
|
||||||
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.ТелеграмРаботаСКлавиатурой</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.ТелеграмРаботаСКлавиатурой</xr:Item>
|
||||||
|
<xr:Item xsi:type="xr:MDObjectRef">Constant.ТелеграмИспользоватьВебХук</xr:Item>
|
||||||
|
<xr:Item xsi:type="xr:MDObjectRef">FunctionalOption.ТелеграмИспользоватьВебХук</xr:Item>
|
||||||
|
<xr:Item xsi:type="xr:MDObjectRef">CommonForm.Настройки</xr:Item>
|
||||||
</Content>
|
</Content>
|
||||||
</Properties>
|
</Properties>
|
||||||
<ChildObjects/>
|
<ChildObjects/>
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<VERSION>21</VERSION>
|
<VERSION>22</VERSION>
|
||||||
|
|||||||
Reference in New Issue
Block a user