- Рефакторинг процедур общих модулей
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
#Область ПрограммныйИнтерфейс
|
#Область ПрограммныйИнтерфейс
|
||||||
|
|
||||||
Функция ВыполнитьGetЗапрос(АдресРесурса, Параметры = Неопределено, ДвоичныеДанные = Ложь) Экспорт
|
Функция ВыполнитьGetЗапрос(Соединение, АдресРесурса, Параметры = Неопределено, ДвоичныеДанные = Ложь) Экспорт
|
||||||
|
|
||||||
РезультатЗапроса = Новый Структура();
|
РезультатЗапроса = Новый Структура();
|
||||||
РезультатЗапроса.Вставить("Успех", Ложь);
|
РезультатЗапроса.Вставить("Успех", Ложь);
|
||||||
@@ -9,8 +9,6 @@
|
|||||||
РезультатЗапроса.Вставить("ДвоичныеДанные", ДвоичныеДанные);
|
РезультатЗапроса.Вставить("ДвоичныеДанные", ДвоичныеДанные);
|
||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
|
||||||
|
|
||||||
Если Параметры <> Неопределено Тогда
|
Если Параметры <> Неопределено Тогда
|
||||||
АдресРесурса = АдресРесурсаСПараметрами(АдресРесурса, Параметры);
|
АдресРесурса = АдресРесурсаСПараметрами(АдресРесурса, Параметры);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -49,7 +47,7 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ВыполнитьPostЗапрос(АдресРесурса, Параметры = Неопределено, Данные = Неопределено) Экспорт
|
Функция ВыполнитьPostЗапрос(Соединение, АдресРесурса, Параметры = Неопределено, Данные = Неопределено) Экспорт
|
||||||
|
|
||||||
РезультатЗапроса = Новый Структура();
|
РезультатЗапроса = Новый Структура();
|
||||||
РезультатЗапроса.Вставить("Успех", Ложь);
|
РезультатЗапроса.Вставить("Успех", Ложь);
|
||||||
@@ -57,8 +55,6 @@
|
|||||||
РезультатЗапроса.Вставить("Описание", "");
|
РезультатЗапроса.Вставить("Описание", "");
|
||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
|
||||||
|
|
||||||
Если Параметры <> Неопределено Тогда
|
Если Параметры <> Неопределено Тогда
|
||||||
АдресРесурса = АдресРесурсаСПараметрами(АдресРесурса, Параметры);
|
АдресРесурса = АдресРесурсаСПараметрами(АдресРесурса, Параметры);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#Область ПрограммныйИнтерфейс
|
#Область ПрограммныйИнтерфейс
|
||||||
|
|
||||||
Функция SendMessage(ИдЧата, СообщениеДляОтправки, Клавиатура = Неопределено) Экспорт
|
Функция SendMessage(ИдЧата, СообщениеДляОтправки, РежимРазметки = Неопределено, Клавиатура = Неопределено) Экспорт
|
||||||
|
|
||||||
ТелоЗапроса = Новый Структура("chat_id, text", ИдЧата, СообщениеДляОтправки);
|
ТелоЗапроса = Новый Структура("chat_id, text", ИдЧата, СообщениеДляОтправки);
|
||||||
|
|
||||||
@@ -8,8 +8,15 @@
|
|||||||
ТелоЗапроса.Вставить("reply_markup", Клавиатура);
|
ТелоЗапроса.Вставить("reply_markup", Клавиатура);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если РежимРазметки <> Неопределено Тогда
|
||||||
|
Если РежимРазметки = Перечисления.ТелеграмРежимРазметки.HTML ИЛИ РежимРазметки = Перечисления.ТелеграмРежимРазметки.Markdown Тогда
|
||||||
|
ТелоЗапроса.Вставить("parse_mode", Строка(РежимРазметки));
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
АдресРесурса = АдресРесурсаПоИмениМетода("sendMessage");
|
АдресРесурса = АдресРесурсаПоИмениМетода("sendMessage");
|
||||||
Возврат HttpОбщегоНазначения.ВыполнитьPostЗапрос(АдресРесурса,, ТелоЗапроса);
|
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||||
|
Возврат HttpОбщегоНазначения.ВыполнитьPostЗапрос(Соединение, АдресРесурса,, ТелоЗапроса);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@@ -17,21 +24,24 @@
|
|||||||
|
|
||||||
ПараметрыЗапроса = Новый Структура("url", АдресВебхук);
|
ПараметрыЗапроса = Новый Структура("url", АдресВебхук);
|
||||||
АдресРесурса = АдресРесурсаПоИмениМетода("setWebhook");
|
АдресРесурса = АдресРесурсаПоИмениМетода("setWebhook");
|
||||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(АдресРесурса, ПараметрыЗапроса);
|
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||||
|
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция DeleteWebhook() Экспорт
|
Функция DeleteWebhook() Экспорт
|
||||||
|
|
||||||
АдресРесурса = АдресРесурсаПоИмениМетода("deleteWebhook");
|
АдресРесурса = АдресРесурсаПоИмениМетода("deleteWebhook");
|
||||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(АдресРесурса);
|
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||||
|
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция GetWebhookInfo() Экспорт
|
Функция GetWebhookInfo() Экспорт
|
||||||
|
|
||||||
АдресРесурса = АдресРесурсаПоИмениМетода("getWebhookInfo");
|
АдресРесурса = АдресРесурсаПоИмениМетода("getWebhookInfo");
|
||||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(АдресРесурса);
|
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||||
|
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@@ -41,7 +51,8 @@
|
|||||||
Формат(ТелеграмОбщегоНазначения.ИдПоследнегоСообщения() + 1, "ЧГ=0"));
|
Формат(ТелеграмОбщегоНазначения.ИдПоследнегоСообщения() + 1, "ЧГ=0"));
|
||||||
ПараметрыЗапроса = Новый Структура("offset", Смещение);
|
ПараметрыЗапроса = Новый Структура("offset", Смещение);
|
||||||
АдресРесурса = АдресРесурсаПоИмениМетода("getUpdates");
|
АдресРесурса = АдресРесурсаПоИмениМетода("getUpdates");
|
||||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(АдресРесурса, ПараметрыЗапроса);
|
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||||
|
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@@ -49,14 +60,16 @@
|
|||||||
|
|
||||||
АдресРесурса = АдресРесурсаПоИмениМетода("getFile");
|
АдресРесурса = АдресРесурсаПоИмениМетода("getFile");
|
||||||
ПараметрыЗапроса = Новый Структура("file_id", ИдФайла);
|
ПараметрыЗапроса = Новый Структура("file_id", ИдФайла);
|
||||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(АдресРесурса, ПараметрыЗапроса);
|
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||||
|
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция GetMe() Экспорт
|
Функция GetMe() Экспорт
|
||||||
|
|
||||||
АдресРесурса = АдресРесурсаПоИмениМетода("getMe");
|
АдресРесурса = АдресРесурсаПоИмениМетода("getMe");
|
||||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(АдресРесурса);
|
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||||
|
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@@ -66,7 +79,8 @@
|
|||||||
Разделитель = СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
|
Разделитель = СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
|
||||||
ДвоичныеДанныеДокумента = ДвоичныеДанныеДокумента(ИдЧата, ДокументДляОтправки, Надпись, БезУведомления, Разделитель);
|
ДвоичныеДанныеДокумента = ДвоичныеДанныеДокумента(ИдЧата, ДокументДляОтправки, Надпись, БезУведомления, Разделитель);
|
||||||
ДанныеДокумента = Новый Структура("Разделитель, ДвоичныеДанные", Разделитель, ДвоичныеДанныеДокумента);
|
ДанныеДокумента = Новый Структура("Разделитель, ДвоичныеДанные", Разделитель, ДвоичныеДанныеДокумента);
|
||||||
Возврат HttpОбщегоНазначения.ВыполнитьPostЗапрос(АдресРесурса,, ДанныеДокумента);
|
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||||
|
Возврат HttpОбщегоНазначения.ВыполнитьPostЗапрос(Соединение, АдресРесурса,, ДанныеДокумента);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@@ -84,7 +98,8 @@
|
|||||||
Разделитель = СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
|
Разделитель = СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
|
||||||
ДвоичныеДанныеФото = ДвоичныеДанныеФайла(ФайлДляОтправки, ИмяФайла, "image/jpeg", "photo", Разделитель);
|
ДвоичныеДанныеФото = ДвоичныеДанныеФайла(ФайлДляОтправки, ИмяФайла, "image/jpeg", "photo", Разделитель);
|
||||||
ДанныеФото = Новый Структура("Разделитель, ДвоичныеДанные", Разделитель, ДвоичныеДанныеФото);
|
ДанныеФото = Новый Структура("Разделитель, ДвоичныеДанные", Разделитель, ДвоичныеДанныеФото);
|
||||||
Возврат HttpОбщегоНазначения.ВыполнитьPostЗапрос(АдресРесурса, ПараметрыЗапроса, ДанныеФото);
|
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||||
|
Возврат HttpОбщегоНазначения.ВыполнитьPostЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса, ДанныеФото);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
|||||||
@@ -107,7 +107,8 @@
|
|||||||
Функция ПолучитьФайлССервераТелеграм(ПутьКФайлуНаСервере) Экспорт
|
Функция ПолучитьФайлССервераТелеграм(ПутьКФайлуНаСервере) Экспорт
|
||||||
|
|
||||||
АдресРесурса = СтрШаблон("file/bot%1/%2", ТелеграмПовторноеИспользование.ТелеграмТокен(), ПутьКФайлуНаСервере);
|
АдресРесурса = СтрШаблон("file/bot%1/%2", ТелеграмПовторноеИспользование.ТелеграмТокен(), ПутьКФайлуНаСервере);
|
||||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(АдресРесурса,, Истина);
|
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||||
|
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(Соединение, АдресРесурса,, Истина);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
|||||||
@@ -12,18 +12,40 @@
|
|||||||
Ответ = ТелеграмМетодыВызовСервера.GetUpdates();
|
Ответ = ТелеграмМетодыВызовСервера.GetUpdates();
|
||||||
|
|
||||||
Если Ответ.Успех Тогда
|
Если Ответ.Успех Тогда
|
||||||
МассивРядов = Новый Массив;
|
//МассивРядов = Новый Массив;
|
||||||
МассивКнопок = ТелеграмРаботаСКлавиатурой.РядКнопок("один;два;три");
|
//МассивКнопок = ТелеграмРаботаСКлавиатурой.РядКнопок("один;два;три");
|
||||||
МассивРядов.Добавить(МассивКнопок);
|
//МассивРядов.Добавить(МассивКнопок);
|
||||||
МассивКнопок = ТелеграмРаботаСКлавиатурой.РядКнопок("Выбрать конфигурацию;Актуальная версия;Калькулятор обновлений");
|
//МассивКнопок = ТелеграмРаботаСКлавиатурой.РядКнопок("Выбрать конфигурацию;Актуальная версия;Калькулятор обновлений");
|
||||||
МассивРядов.Добавить(МассивКнопок);
|
//МассивРядов.Добавить(МассивКнопок);
|
||||||
Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураОтвета(МассивРядов, Истина, Истина);
|
//Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураОтвета(МассивРядов, Истина, Истина);
|
||||||
|
//
|
||||||
|
//МассивСообщенийТелеграм = ТелеграмОбщегоНазначения.ОбновленияТелеграм(Ответ.Тело);
|
||||||
|
//Для каждого СообщениеТелеграм Из МассивСообщенийТелеграм Цикл
|
||||||
|
// ТелеграмОбщегоНазначения.СохранитьСообщениеВБазу(СообщениеТелеграм);
|
||||||
|
// ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, СообщениеТелеграм.Сообщение.text, Клавиатура);
|
||||||
|
//КонецЦикла;
|
||||||
|
|
||||||
МассивСообщенийТелеграм = ТелеграмОбщегоНазначения.ОбновленияТелеграм(Ответ.Тело);
|
МассивСообщенийТелеграм = ТелеграмОбщегоНазначения.ОбновленияТелеграм(Ответ.Тело);
|
||||||
Для каждого СообщениеТелеграм Из МассивСообщенийТелеграм Цикл
|
Для каждого СообщениеТелеграм Из МассивСообщенийТелеграм Цикл
|
||||||
ТелеграмОбщегоНазначения.СохранитьСообщениеВБазу(СообщениеТелеграм);
|
ТелеграмОбщегоНазначения.СохранитьСообщениеВБазу(СообщениеТелеграм);
|
||||||
ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, СообщениеТелеграм.Сообщение.text, Клавиатура);
|
Если СообщениеТелеграм.Сообщение.text = "Конфигурации" Тогда
|
||||||
|
ТекстОтвета = "Комплексная автоматизация" + Символы.ПС +
|
||||||
|
"Бухгалтерия предприятия" + Символы.ПС +
|
||||||
|
"Зарплата и управление персоналом" + Символы.ПС +
|
||||||
|
"Управление торговлей";
|
||||||
|
|
||||||
|
ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, ТекстОтвета);
|
||||||
|
ИначеЕсли СообщениеТелеграм.Сообщение.text = "Подписки" Тогда
|
||||||
|
МассивПодписок = РаботаСОбновлениямиВызовСервера.КонфигурацииИзПодписки(СообщениеТелеграм.ИдЧата);
|
||||||
|
ТекстОтвета = "";
|
||||||
|
Для каждого Конфигурация Из МассивПодписок Цикл
|
||||||
|
ТекстОтвета = ТекстОтвета + СтрШаблон("%1(%2)%3",Конфигурация.Наименование, Конфигурация.ТекущаяВерсия, Символы.ПС);
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, ТекстОтвета);
|
||||||
|
КонецЕсли;
|
||||||
|
//ТелеграмМетодыВызовСервера.SendMessage(СообщениеТелеграм.ИдЧата, СообщениеТелеграм.Сообщение.text);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
@@ -53,7 +75,24 @@
|
|||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура PostЗапрос(Команда)
|
Процедура PostЗапрос(Команда)
|
||||||
|
|
||||||
Ответ = ТелеграмМетодыВызовСервера.SendMessage(248415372, СообщениеДляОтправки);
|
МассивРядов = Новый Массив;
|
||||||
|
МассивКнопок = ТелеграмРаботаСКлавиатурой.РядКнопок("Конфигурации;Подписки");
|
||||||
|
МассивРядов.Добавить(МассивКнопок);
|
||||||
|
//МассивКнопок = ТелеграмРаботаСКлавиатурой.РядКнопок("Выбрать конфигурацию;Актуальная версия;Калькулятор обновлений");
|
||||||
|
//ВторойРядКнопок = Новый Массив;
|
||||||
|
//Эмоджи = Символ(55357) + Символ(57005);
|
||||||
|
|
||||||
|
//Эмоджи = СтрЗаменить("\xF0\x9F\x94\x94", "\x", "%");
|
||||||
|
//Эмоджи = "😁";
|
||||||
|
//эмодзиДа = "%f0%9f%91%8d";
|
||||||
|
//эмодзиНет = "%f0%9f%91%8e";
|
||||||
|
//ВторойРядКнопок.Добавить(ТелеграмРаботаСКлавиатурой.КнопкаКлавиатуры(Эмоджи));
|
||||||
|
//МассивРядов.Добавить(ВторойРядКнопок);
|
||||||
|
Клавиатура = ТелеграмРаботаСКлавиатурой.КлавиатураОтвета(МассивРядов, Истина, Истина);
|
||||||
|
|
||||||
|
|
||||||
|
Ответ = ТелеграмМетодыВызовСервера.SendMessage(ИдЧата, СообщениеДляОтправки,
|
||||||
|
ПредопределенноеЗначение("Перечисление.ТелеграмРежимРазметки.HTML"), Клавиатура);
|
||||||
Если НЕ Ответ = Неопределено Тогда
|
Если НЕ Ответ = Неопределено Тогда
|
||||||
ВывестиОтвет(Ответ);
|
ВывестиОтвет(Ответ);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
<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>
|
||||||
<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>
|
||||||
</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>5</VERSION>
|
<VERSION>6</VERSION>
|
||||||
|
|||||||
Reference in New Issue
Block a user