- Добавил доработки
This commit is contained in:
@@ -220,6 +220,90 @@
|
|||||||
<DataHistory>Use</DataHistory>
|
<DataHistory>Use</DataHistory>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Attribute>
|
</Attribute>
|
||||||
|
<Attribute uuid="7bc919dd-95d1-4865-9036-aa53d7f54290">
|
||||||
|
<Properties>
|
||||||
|
<Name>СтатусДиалога</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Статус диалога</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>cfg:EnumRef.ТелеграмСтатусДиалога</v8:Type>
|
||||||
|
</Type>
|
||||||
|
<PasswordMode>false</PasswordMode>
|
||||||
|
<Format/>
|
||||||
|
<EditFormat/>
|
||||||
|
<ToolTip/>
|
||||||
|
<MarkNegatives>false</MarkNegatives>
|
||||||
|
<Mask/>
|
||||||
|
<MultiLine>false</MultiLine>
|
||||||
|
<ExtendedEdit>false</ExtendedEdit>
|
||||||
|
<MinValue xsi:nil="true"/>
|
||||||
|
<MaxValue xsi:nil="true"/>
|
||||||
|
<FillFromFillingValue>false</FillFromFillingValue>
|
||||||
|
<FillValue xsi:nil="true"/>
|
||||||
|
<FillChecking>DontCheck</FillChecking>
|
||||||
|
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||||
|
<ChoiceParameterLinks/>
|
||||||
|
<ChoiceParameters/>
|
||||||
|
<QuickChoice>Auto</QuickChoice>
|
||||||
|
<CreateOnInput>Auto</CreateOnInput>
|
||||||
|
<ChoiceForm/>
|
||||||
|
<LinkByType/>
|
||||||
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
|
<Use>ForItem</Use>
|
||||||
|
<Indexing>DontIndex</Indexing>
|
||||||
|
<FullTextSearch>Use</FullTextSearch>
|
||||||
|
<DataHistory>Use</DataHistory>
|
||||||
|
</Properties>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute uuid="37de3f9a-734b-4c65-93e1-dabb9d75bf68">
|
||||||
|
<Properties>
|
||||||
|
<Name>ДополнительнаяИнформация</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Дополнительная информация</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
<PasswordMode>false</PasswordMode>
|
||||||
|
<Format/>
|
||||||
|
<EditFormat/>
|
||||||
|
<ToolTip/>
|
||||||
|
<MarkNegatives>false</MarkNegatives>
|
||||||
|
<Mask/>
|
||||||
|
<MultiLine>false</MultiLine>
|
||||||
|
<ExtendedEdit>false</ExtendedEdit>
|
||||||
|
<MinValue xsi:nil="true"/>
|
||||||
|
<MaxValue xsi:nil="true"/>
|
||||||
|
<FillFromFillingValue>false</FillFromFillingValue>
|
||||||
|
<FillValue xsi:type="xs:string"/>
|
||||||
|
<FillChecking>DontCheck</FillChecking>
|
||||||
|
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||||
|
<ChoiceParameterLinks/>
|
||||||
|
<ChoiceParameters/>
|
||||||
|
<QuickChoice>Auto</QuickChoice>
|
||||||
|
<CreateOnInput>Auto</CreateOnInput>
|
||||||
|
<ChoiceForm/>
|
||||||
|
<LinkByType/>
|
||||||
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
|
<Use>ForItem</Use>
|
||||||
|
<Indexing>DontIndex</Indexing>
|
||||||
|
<FullTextSearch>Use</FullTextSearch>
|
||||||
|
<DataHistory>Use</DataHistory>
|
||||||
|
</Properties>
|
||||||
|
</Attribute>
|
||||||
</ChildObjects>
|
</ChildObjects>
|
||||||
</Catalog>
|
</Catalog>
|
||||||
</MetaDataObject>
|
</MetaDataObject>
|
||||||
@@ -52,6 +52,50 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция СписокКонфигураций(ИдЧата) Экспорт
|
||||||
|
|
||||||
|
Запрос = Новый Запрос;
|
||||||
|
Запрос.Текст =
|
||||||
|
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||||
|
| ОтслеживаниеВерсийКонфигураций.Конфигурация КАК Конфигурация,
|
||||||
|
| ОтслеживаниеВерсийКонфигураций.Конфигурация.Наименование КАК КонфигурацияНаименование,
|
||||||
|
| ОтслеживаниеВерсийКонфигураций.Конфигурация.Имя КАК КонфигурацияИмя,
|
||||||
|
| ИСТИНА КАК Подписка
|
||||||
|
|ПОМЕСТИТЬ ВТ_ОтслеживаемыеКонфигурации
|
||||||
|
|ИЗ
|
||||||
|
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций
|
||||||
|
|ГДЕ
|
||||||
|
| ОтслеживаниеВерсийКонфигураций.ИдЧата = &ИдЧата
|
||||||
|
|;
|
||||||
|
|
|
||||||
|
|////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|ВЫБРАТЬ
|
||||||
|
| Конфигурации.Наименование КАК Наименование,
|
||||||
|
| Конфигурации.Имя КАК Имя,
|
||||||
|
| ЕСТЬNULL(ВТ_ОтслеживаемыеКонфигурации.Подписка, ЛОЖЬ) КАК Подписка
|
||||||
|
|ИЗ
|
||||||
|
| Справочник.Конфигурации КАК Конфигурации
|
||||||
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ОтслеживаемыеКонфигурации КАК ВТ_ОтслеживаемыеКонфигурации
|
||||||
|
| ПО (ВТ_ОтслеживаемыеКонфигурации.Конфигурация = Конфигурации.Ссылка)
|
||||||
|
|
|
||||||
|
|УПОРЯДОЧИТЬ ПО
|
||||||
|
| Подписка УБЫВ";
|
||||||
|
|
||||||
|
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||||||
|
РезультатЗапроса = Запрос.Выполнить();
|
||||||
|
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||||
|
МассивКонфигураций = Новый Массив;
|
||||||
|
|
||||||
|
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||||
|
Конфигурация = Новый Структура("Наименование, Имя, Подписка", ВыборкаДетальныеЗаписи.Наименование,
|
||||||
|
ВыборкаДетальныеЗаписи.Имя, ВыборкаДетальныеЗаписи.Подписка);
|
||||||
|
|
||||||
|
МассивКонфигураций.Добавить(Конфигурация);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат МассивКонфигураций;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
Функция АктуализироватьВерсииКонфигураций()Экспорт
|
Функция АктуализироватьВерсииКонфигураций()Экспорт
|
||||||
|
|
||||||
@@ -101,6 +145,87 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция КонфигурацияПоИмени(ИмяКонфигурации) Экспорт
|
||||||
|
|
||||||
|
Запрос = Новый Запрос;
|
||||||
|
Запрос.Текст =
|
||||||
|
"ВЫБРАТЬ
|
||||||
|
| Конфигурации.Ссылка КАК Конфигурация
|
||||||
|
|ИЗ
|
||||||
|
| Справочник.Конфигурации КАК Конфигурации
|
||||||
|
|ГДЕ
|
||||||
|
| Конфигурации.Имя = &Имя";
|
||||||
|
|
||||||
|
Запрос.УстановитьПараметр("Имя", ИмяКонфигурации);
|
||||||
|
|
||||||
|
РезультатЗапроса = Запрос.Выполнить();
|
||||||
|
|
||||||
|
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||||
|
|
||||||
|
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||||||
|
Возврат ВыборкаДетальныеЗаписи.Конфигурация;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Неопределено;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Процедура УстановитьСтатусДиалога(ИдЧата, НовыйСтатус, ДополнительнаяИнформация) Экспорт
|
||||||
|
|
||||||
|
Запрос = Новый Запрос;
|
||||||
|
Запрос.Текст =
|
||||||
|
"ВЫБРАТЬ
|
||||||
|
| ТелеграмПользователь.Ссылка КАК Ссылка,
|
||||||
|
| ТелеграмПользователь.СтатусДиалога КАК СтатусДиалога
|
||||||
|
|ИЗ
|
||||||
|
| Справочник.ТелеграмПользователь КАК ТелеграмПользователь
|
||||||
|
|ГДЕ
|
||||||
|
| ТелеграмПользователь.id = &ИдЧата";
|
||||||
|
|
||||||
|
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||||||
|
|
||||||
|
РезультатЗапроса = Запрос.Выполнить();
|
||||||
|
|
||||||
|
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||||
|
|
||||||
|
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||||||
|
ПользовательОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
|
||||||
|
Если ПользовательОбъект <> Неопределено Тогда
|
||||||
|
ПользовательОбъект.СтатусДиалога = НовыйСтатус;
|
||||||
|
ПользовательОбъект.ДополнительнаяИнформация = ДополнительнаяИнформация;
|
||||||
|
ПользовательОбъект.Записать();
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Функция ПолучитьДанныеПользователя(ИдЧата) Экспорт
|
||||||
|
|
||||||
|
Запрос = Новый Запрос;
|
||||||
|
Запрос.Текст =
|
||||||
|
"ВЫБРАТЬ
|
||||||
|
| ТелеграмПользователь.СтатусДиалога КАК СтатусДиалога,
|
||||||
|
| ТелеграмПользователь.ДополнительнаяИнформация КАК ДополнительнаяИнформация
|
||||||
|
|ИЗ
|
||||||
|
| Справочник.ТелеграмПользователь КАК ТелеграмПользователь
|
||||||
|
|ГДЕ
|
||||||
|
| ТелеграмПользователь.id = &ИдЧата";
|
||||||
|
|
||||||
|
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||||||
|
|
||||||
|
РезультатЗапроса = Запрос.Выполнить();
|
||||||
|
|
||||||
|
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||||
|
|
||||||
|
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||||||
|
Возврат Новый Структура("СтатусДиалога, ДополнительнаяИнформация", ВыборкаДетальныеЗаписи.СтатусДиалога,
|
||||||
|
ВыборкаДетальныеЗаписи.ДополнительнаяИнформация);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Неопределено;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|||||||
@@ -66,7 +66,11 @@
|
|||||||
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения)
|
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения)
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
ИначеЕсли ЭтоОдиночноеОбновление(ДанныеОбновления) Тогда
|
ИначеЕсли ЭтоОдиночноеОбновление(ДанныеОбновления) Тогда
|
||||||
ПараметрыСообщения = СтруктураСообщенияТелеграм(Обновление);
|
Если ДанныеОбновления.Получить("message") <> Неопределено Тогда
|
||||||
|
ПараметрыСообщения = СтруктураСообщенияТелеграм(ДанныеОбновления);
|
||||||
|
ИначеЕсли ДанныеОбновления.Получить("callback_query") <> Неопределено Тогда
|
||||||
|
ПараметрыСообщения = СтруктураКоллбэкЗапроса(ДанныеОбновления);
|
||||||
|
КонецЕсли;
|
||||||
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения)
|
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения)
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -96,6 +100,33 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция СтруктураКоллбэкЗапроса(Обновление)
|
||||||
|
|
||||||
|
ДанныеСообщения = Обновление["callback_query"];
|
||||||
|
|
||||||
|
ПараметрыСообщения = Новый Структура;
|
||||||
|
ПараметрыСообщения.Вставить("ИдКоллбэкЗапроса", Обновление["update_id"]);
|
||||||
|
|
||||||
|
Автор = АвторСообщения(ДанныеСообщения["from"]);
|
||||||
|
ПараметрыСообщения.Вставить("Автор", Автор);
|
||||||
|
|
||||||
|
Если ДанныеСообщения.Получить("message") <> Неопределено Тогда
|
||||||
|
НовоеСообщение = ТелеграмСообщение(ДанныеСообщения["message"], Автор);
|
||||||
|
ПараметрыСообщения.Вставить("Сообщение", НовоеСообщение);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПараметрыСообщения.Вставить("Дата", ТекущаяДатаСеанса());
|
||||||
|
|
||||||
|
ИдЧата = Автор.id;
|
||||||
|
ПараметрыСообщения.Вставить("ИдЧата", ИдЧата);
|
||||||
|
|
||||||
|
ДанныеКоллбэка = ДанныеСообщения["data"];
|
||||||
|
ПараметрыСообщения.Вставить("ДанныеКоллбэка", ДанныеКоллбэка);
|
||||||
|
|
||||||
|
Возврат ПараметрыСообщения;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
Процедура СохранитьСообщениеВБазу(СтруктураСообщения) Экспорт
|
Процедура СохранитьСообщениеВБазу(СтруктураСообщения) Экспорт
|
||||||
|
|
||||||
МенеджерЗаписи = РегистрыСведений.ТелеграмСообщения.СоздатьМенеджерЗаписи();
|
МенеджерЗаписи = РегистрыСведений.ТелеграмСообщения.СоздатьМенеджерЗаписи();
|
||||||
@@ -144,8 +175,9 @@
|
|||||||
|
|
||||||
ИдОбновления = СоответствиеОбновления.Получить("update_id");
|
ИдОбновления = СоответствиеОбновления.Получить("update_id");
|
||||||
Сообщение = СоответствиеОбновления.Получить("message");
|
Сообщение = СоответствиеОбновления.Получить("message");
|
||||||
|
КоллбэкЗапрос = СоответствиеОбновления.Получить("callback_query");
|
||||||
|
|
||||||
Если ИдОбновления <> Неопределено И Сообщение <> Неопределено Тогда
|
Если ИдОбновления <> Неопределено И (Сообщение <> Неопределено ИЛИ КоллбэкЗапрос <> Неопределено) Тогда
|
||||||
Возврат Истина;
|
Возврат Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,35 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция КнопкаКлавиатуры(Надпись) Экспорт
|
Функция КлавиатураВстроенная(Клавиатура) Экспорт
|
||||||
|
|
||||||
|
СоответствиеКлавиатуры = Новый Соответствие();
|
||||||
|
|
||||||
|
СоответствиеКлавиатуры.Вставить("inline_keyboard", Клавиатура);
|
||||||
|
|
||||||
|
Возврат СоответствиеКлавиатуры;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
|
||||||
|
Функция КнопкаКлавиатурыВстроенной(Надпись, Url = Неопределено, CallbackData = Неопределено) Экспорт
|
||||||
|
|
||||||
|
СоответствиеКнопка = Новый Соответствие;
|
||||||
|
СоответствиеКнопка.Вставить("text", ?(НЕ ЗначениеЗаполнено(Надпись), "<?>", Надпись));
|
||||||
|
|
||||||
|
Если Url <> Неопределено Тогда
|
||||||
|
СоответствиеКнопка.Вставить("url", Url);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если CallbackData <> Неопределено Тогда
|
||||||
|
СоответствиеКнопка.Вставить("callback_data", CallbackData);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат СоответствиеКнопка;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция КнопкаКлавиатурыОтвета(Надпись) Экспорт
|
||||||
|
|
||||||
СоответствиеКнопка = Новый Соответствие;
|
СоответствиеКнопка = Новый Соответствие;
|
||||||
СоответствиеКнопка.Вставить("text", ?(НЕ ЗначениеЗаполнено(Надпись), "<?>", Надпись));
|
СоответствиеКнопка.Вставить("text", ?(НЕ ЗначениеЗаполнено(Надпись), "<?>", Надпись));
|
||||||
@@ -34,7 +62,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Для каждого НадписьКнопки Из МассивНаименованийКнопок Цикл
|
Для каждого НадписьКнопки Из МассивНаименованийКнопок Цикл
|
||||||
Результат.Добавить(КнопкаКлавиатуры(НадписьКнопки));
|
Результат.Добавить(КнопкаКлавиатурыОтвета(НадписьКнопки));
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
|
|||||||
@@ -11,47 +11,116 @@
|
|||||||
|
|
||||||
Ответ = ТелеграмМетодыВызовСервера.GetUpdates();
|
Ответ = ТелеграмМетодыВызовСервера.GetUpdates();
|
||||||
|
|
||||||
Если Ответ.Успех Тогда
|
БотОбщегоНазначения.ОбработкаКомандыБота(Ответ);
|
||||||
//МассивРядов = Новый Массив;
|
|
||||||
//МассивКнопок = ТелеграмРаботаСКлавиатурой.РядКнопок("один;два;три");
|
//Если Ответ.Успех Тогда
|
||||||
//МассивРядов.Добавить(МассивКнопок);
|
|
||||||
//МассивКнопок = ТелеграмРаботаСКлавиатурой.РядКнопок("Выбрать конфигурацию;Актуальная версия;Калькулятор обновлений");
|
|
||||||
//МассивРядов.Добавить(МассивКнопок);
|
|
||||||
//Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураОтвета(МассивРядов, Истина, Истина);
|
|
||||||
//
|
|
||||||
// МассивСообщенийТелеграм = ТелеграмОбщегоНазначения.ОбновленияТелеграм(Ответ.Тело);
|
// МассивСообщенийТелеграм = ТелеграмОбщегоНазначения.ОбновленияТелеграм(Ответ.Тело);
|
||||||
// Для каждого СообщениеТелеграм Из МассивСообщенийТелеграм Цикл
|
// Для каждого СообщениеТелеграм Из МассивСообщенийТелеграм Цикл
|
||||||
// ТелеграмОбщегоНазначения.СохранитьСообщениеВБазу(СообщениеТелеграм);
|
// ТелеграмОбщегоНазначения.СохранитьСообщениеВБазу(СообщениеТелеграм);
|
||||||
// ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, СообщениеТелеграм.Сообщение.text, Клавиатура);
|
//
|
||||||
|
// Если СообщениеТелеграм.Сообщение.text = "/start" Тогда
|
||||||
|
// ТекстОтвета = "Привет! Я бот, который поможет тебе следить за обновлениями конфигураций 1С." + Символы.ПС +
|
||||||
|
// Символы.ВК + Символы.ПС +
|
||||||
|
// "Что я умею:" + Символы.ПС +
|
||||||
|
// "- Отслеживать новые релизы" + Символы.ПС +
|
||||||
|
// "- Присылать уведомления о выходе обновлений" + Символы.ПС +
|
||||||
|
// "- Показывать текущую версию" + Символы.ПС +
|
||||||
|
// Символы.ВК + Символы.ПС +
|
||||||
|
// "/subscribe - Список конфигураций для отслеживания" + Символы.ПС +
|
||||||
|
// "/add - Добавить конфигурацию в список отслеживания" + Символы.ПС +
|
||||||
|
// "/delete - Удалить конфигурацию из списка отслеживания" + Символы.ПС +
|
||||||
|
// Символы.ВК + Символы.ПС +
|
||||||
|
// "/help — Помощь";
|
||||||
|
//
|
||||||
|
// ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, ТекстОтвета,,);
|
||||||
|
// ИначеЕсли СообщениеТелеграм.Сообщение.text = "/subscribe" Тогда
|
||||||
|
// КонфигурацииДляВыбора = РаботаСОбновлениямиВызовСервера.КонфигурацииДляВыбора(СообщениеТелеграм.ИдЧата);
|
||||||
|
//
|
||||||
|
// Если КонфигурацииДляВыбора.Количество() = 0 Тогда
|
||||||
|
// ТекстОтвета = "Не удалось получить список конфигураций";
|
||||||
|
// Иначе
|
||||||
|
// ТекстОтвета = "";
|
||||||
|
// Для каждого ПунктМенюПодписки Из КонфигурацииДляВыбора Цикл
|
||||||
|
// ТекстОтвета = ТекстОтвета + СтрШаблон("%1 %2%3", ?(ПунктМенюПодписки.Подписка, "[X]", "[ ]"),
|
||||||
|
// ПунктМенюПодписки.Наименование,Символы.ПС);
|
||||||
// КонецЦикла;
|
// КонецЦикла;
|
||||||
|
// КонецЕсли;
|
||||||
МассивСообщенийТелеграм = ТелеграмОбщегоНазначения.ОбновленияТелеграм(Ответ.Тело);
|
//
|
||||||
Для каждого СообщениеТелеграм Из МассивСообщенийТелеграм Цикл
|
// ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, ТекстОтвета,,);
|
||||||
ТелеграмОбщегоНазначения.СохранитьСообщениеВБазу(СообщениеТелеграм);
|
// ИначеЕсли СообщениеТелеграм.Сообщение.text = "/add" Тогда
|
||||||
Если СообщениеТелеграм.Сообщение.text = "Конфигурации" Тогда
|
// КонфигурацииДляВыбора = РаботаСОбновлениямиВызовСервера.КонфигурацииДляВыбора(СообщениеТелеграм.ИдЧата);
|
||||||
ТекстОтвета = "Комплексная автоматизация" + Символы.ПС +
|
//
|
||||||
"Бухгалтерия предприятия" + Символы.ПС +
|
// Если КонфигурацииДляВыбора.Количество() = 0 Тогда
|
||||||
"Зарплата и управление персоналом" + Символы.ПС +
|
// ТекстОтвета = "Не удалось получить список конфигураций";
|
||||||
"Управление торговлей";
|
// Иначе
|
||||||
|
// МассивРядов = Новый Массив;
|
||||||
ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, ТекстОтвета);
|
// ТекстОтвета = "Выберите нужную конфигурацию для отслеживания обновлений";
|
||||||
ИначеЕсли СообщениеТелеграм.Сообщение.text = "Подписки" Тогда
|
// Для каждого ПунктМенюПодписки Из КонфигурацииДляВыбора Цикл
|
||||||
МассивПодписок = РаботаСОбновлениямиВызовСервера.КонфигурацииИзПодписки(СообщениеТелеграм.ИдЧата);
|
// Если НЕ ПунктМенюПодписки.Подписка Тогда
|
||||||
ТекстОтвета = "";
|
// МассивКнопок = Новый Массив;
|
||||||
Для каждого Конфигурация Из МассивПодписок Цикл
|
// МассивКнопок.Добавить(ТелеграмРаботаСКлавиатурой.КнопкаКлавиатуры
|
||||||
ТекстОтвета = ТекстОтвета + СтрШаблон("%1(%2)%3",Конфигурация.Наименование, Конфигурация.ТекущаяВерсия, Символы.ПС);
|
// ("/add_conf " + ПунктМенюПодписки.Наименование));
|
||||||
КонецЦикла;
|
// МассивРядов.Добавить(МассивКнопок);
|
||||||
ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, ТекстОтвета);
|
// КонецЕсли;
|
||||||
КонецЕсли;
|
// КонецЦикла;
|
||||||
//ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, СообщениеТелеграм.Сообщение.text);
|
// КонецЕсли;
|
||||||
КонецЦикла;
|
//
|
||||||
|
// Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураОтвета(МассивРядов, Истина, Истина);
|
||||||
КонецЕсли;
|
// ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, ТекстОтвета,,Клавиатура);
|
||||||
|
// ИначеЕсли СтрНачинаетсяС(СообщениеТелеграм.Сообщение.text, "/add_conf") Тогда
|
||||||
|
// Результат = ДобавитьКонфигурациюВСписокОтслеживания(СообщениеТелеграм.Сообщение.text, СообщениеТелеграм.ИдЧата);
|
||||||
|
// КонецЕсли;
|
||||||
|
// КонецЦикла;
|
||||||
|
//КонецЕсли;
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
//&НаСервереБезКонтекста
|
||||||
|
//Функция ДобавитьКонфигурациюВСписокОтслеживания(ТекстСообщения, ИдЧата)
|
||||||
|
//
|
||||||
|
// КомандаДобавленияКонфигурации = "/add_conf";
|
||||||
|
//
|
||||||
|
// Если НЕ СтрНачинаетсяС(ТекстСообщения, КомандаДобавленияКонфигурации) Тогда
|
||||||
|
// Возврат Ложь;
|
||||||
|
// КонецЕсли;
|
||||||
|
//
|
||||||
|
// НаименованиеКонфигурации = СокрЛП(Сред(ТекстСообщения, СтрДлина(КомандаДобавленияКонфигурации) + 1,
|
||||||
|
// СтрДлина(ТекстСообщения) - СтрДлина(КомандаДобавленияКонфигурации)+ 1));
|
||||||
|
//
|
||||||
|
// Запрос = Новый Запрос;
|
||||||
|
// Запрос.Текст =
|
||||||
|
// "ВЫБРАТЬ
|
||||||
|
// | Конфигурации.Ссылка КАК Конфигурация,
|
||||||
|
// | &ИдЧата КАК ИдЧата,
|
||||||
|
// | &ТекущаяВерсия КАК ТекущаяВерсия,
|
||||||
|
// | &АктуальнаяВерсия КАК АктуальнаяВерсия
|
||||||
|
// |ИЗ
|
||||||
|
// | Справочник.Конфигурации КАК Конфигурации
|
||||||
|
// |ГДЕ
|
||||||
|
// | Конфигурации.Наименование ПОДОБНО ""%"" + &Наименование + ""%""";
|
||||||
|
//
|
||||||
|
// Запрос.УстановитьПараметр("Наименование", НаименованиеКонфигурации);
|
||||||
|
// Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||||||
|
// Запрос.УстановитьПараметр("ТекущаяВерсия", "1.1.1.1");
|
||||||
|
// Запрос.УстановитьПараметр("АктуальнаяВерсия", "1.2.3.4");
|
||||||
|
//
|
||||||
|
// РезультатЗапроса = Запрос.Выполнить();
|
||||||
|
//
|
||||||
|
// ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||||
|
//
|
||||||
|
// Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||||||
|
// МенеджерЗаписи = РегистрыСведений.ОтслеживаниеВерсийКонфигураций.СоздатьМенеджерЗаписи();
|
||||||
|
// ЗаполнитьЗначенияСвойств(МенеджерЗаписи, ВыборкаДетальныеЗаписи);
|
||||||
|
// МенеджерЗаписи.Записать();
|
||||||
|
// Возврат Истина;
|
||||||
|
// КонецЕсли;
|
||||||
|
//
|
||||||
|
// Возврат Ложь;
|
||||||
|
//
|
||||||
|
//КонецФункции
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура getWebhookInfo(Команда)
|
Процедура getWebhookInfo(Команда)
|
||||||
|
|
||||||
@@ -208,3 +277,4 @@
|
|||||||
Возврат БиблиотекаКартинок.КартинкаБот.ПолучитьДвоичныеДанные();
|
Возврат БиблиотекаКартинок.КартинкаБот.ПолучитьДвоичныеДанные();
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
Функция ШаблонURL1PostGetUpdate(Запрос)
|
Функция ШаблонURL1PostGetUpdate(Запрос)
|
||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
ТелеграмОбщегоНазначения.ОбработатьИСохранитьОбновленияТелеграм(Запрос.ПолучитьТелоКакСтроку());
|
//ТелеграмОбщегоНазначения.ОбработатьИСохранитьОбновленияТелеграм(Запрос.ПолучитьТелоКакСтроку());
|
||||||
|
БотОбщегоНазначения.ОбработкаКомандыБота(Запрос.ПолучитьТелоКакСтроку());
|
||||||
Ответ = HttpОбщегоНазначения.ОтветУспех();
|
Ответ = HttpОбщегоНазначения.ОтветУспех();
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
Исключение
|
Исключение
|
||||||
|
|||||||
@@ -19,6 +19,8 @@
|
|||||||
<xr:Item xsi:type="xr:MDObjectRef">DataProcessor.РаботаСОбновлениями</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">DataProcessor.РаботаСОбновлениями</xr:Item>
|
||||||
<xr:Item xsi:type="xr:MDObjectRef">InformationRegister.ОтслеживаниеВерсийКонфигураций</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">InformationRegister.ОтслеживаниеВерсийКонфигураций</xr:Item>
|
||||||
<xr:Item xsi:type="xr:MDObjectRef">Catalog.Конфигурации</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">Catalog.Конфигурации</xr:Item>
|
||||||
|
<xr:Item xsi:type="xr:MDObjectRef">Enum.ТелеграмСтатусДиалога</xr:Item>
|
||||||
|
<xr:Item xsi:type="xr:MDObjectRef">Enum.ВидыДанныхКоллбэков</xr:Item>
|
||||||
</Content>
|
</Content>
|
||||||
</Properties>
|
</Properties>
|
||||||
<ChildObjects/>
|
<ChildObjects/>
|
||||||
|
|||||||
@@ -29,6 +29,8 @@
|
|||||||
<xr:Item xsi:type="xr:MDObjectRef">Catalog.ТелеграмДокумент</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">Catalog.ТелеграмДокумент</xr:Item>
|
||||||
<xr:Item xsi:type="xr:MDObjectRef">CommonPicture.КартинкаБот</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">CommonPicture.КартинкаБот</xr:Item>
|
||||||
<xr:Item xsi:type="xr:MDObjectRef">Enum.ТелеграмРежимРазметки</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">Enum.ТелеграмРежимРазметки</xr:Item>
|
||||||
|
<xr:Item xsi:type="xr:MDObjectRef">Enum.ТелеграмСтатусДиалога</xr:Item>
|
||||||
|
<xr:Item xsi:type="xr:MDObjectRef">Enum.ВидыДанныхКоллбэков</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>7</VERSION>
|
<VERSION>8</VERSION>
|
||||||
|
|||||||
Reference in New Issue
Block a user