Compare commits
4 Commits
32e52069e8
...
98f0202a22
| Author | SHA1 | Date | |
|---|---|---|---|
| 98f0202a22 | |||
| b767d369b6 | |||
| 296b6a5bc3 | |||
| c264a7ccd8 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
**/ConfigDumpInfo.xml
|
||||
.scannerwork
|
||||
32
sonar-project.properties
Normal file
32
sonar-project.properties
Normal file
@@ -0,0 +1,32 @@
|
||||
# адрес сервера SonarQube, по умолчанию текущий компьютер
|
||||
#sonar.host.url=http://localhost:9000
|
||||
|
||||
# ключ проекта
|
||||
sonar.projectKey=tg_bot
|
||||
|
||||
# имя проекта
|
||||
#sonar.projectName=Telegram bot
|
||||
|
||||
# версия проекта
|
||||
sonar.projectVersion=1.0.0.
|
||||
|
||||
# относительный или абсолютный путь к каталогу с исходными кодом
|
||||
sonar.sources=./src/cf
|
||||
|
||||
# кодировка
|
||||
sonar.sourceEncoding=UTF-8
|
||||
|
||||
# маска поиска файлов на проверку
|
||||
sonar.inclusions=src/**/*.bsl
|
||||
|
||||
# маска поиска исключений файлов на проверку
|
||||
# sonar.exclusions=
|
||||
|
||||
# игнорирование gitignore
|
||||
#sonar.scm.exclusions.disabled=true
|
||||
|
||||
# путь к внешним отчетам
|
||||
#sonar.externalIssuesReportPaths=./build/acc-generic-issue.json
|
||||
|
||||
# путь к папке с данными покрытия тестами
|
||||
#sonar.coverageReportPaths=./tools/coverage/result/genericCoverage.xml
|
||||
@@ -2,7 +2,7 @@
|
||||
<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="efcaabde-708f-4990-928d-8c4c280e6352">
|
||||
<Properties>
|
||||
<Name>HttpОбщегоНазначения</Name>
|
||||
<Name>HttpОбщегоНазначенияВызовСервера</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -13,7 +13,7 @@
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ExternalConnection>false</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>true</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
@@ -19,7 +19,7 @@
|
||||
ТелоОтветаКакСтрока = Ответ.ПолучитьТелоКакСтроку();
|
||||
|
||||
РезультатЗапроса.Тело = ?(ДвоичныеДанные, Ответ.ПолучитьТелоКакДвоичныеДанные(),
|
||||
HttpОбщегоНазначения.СтрокаJsonВОбъект(ТелоОтветаКакСтрока));
|
||||
HttpОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоОтветаКакСтрока));
|
||||
|
||||
Если НЕ ДвоичныеДанные И РезультатЗапроса.Тело.Получить("description") <> Неопределено Тогда
|
||||
РезультатЗапроса.Описание = РезультатЗапроса.Тело["description"];
|
||||
@@ -67,7 +67,7 @@
|
||||
Запрос.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + Данные.Разделитель);
|
||||
Иначе
|
||||
Запрос.Заголовки.Вставить("Content-Type","application/json");
|
||||
Запрос.УстановитьТелоИзСтроки(HttpОбщегоНазначения.ОбъектВСтрокуJson(Данные));
|
||||
Запрос.УстановитьТелоИзСтроки(HttpОбщегоНазначенияВызовСервера.ОбъектВСтрокуJson(Данные));
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Запрос.Заголовки.Вставить("Content-Type","application/json");
|
||||
@@ -76,7 +76,7 @@
|
||||
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
|
||||
ТелоОтветаКакСтрока = Ответ.ПолучитьТелоКакСтроку();
|
||||
|
||||
ТелоДляОтвета = HttpОбщегоНазначения.СтрокаJsonВОбъект(ТелоОтветаКакСтрока);
|
||||
ТелоДляОтвета = HttpОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоОтветаКакСтрока);
|
||||
Если ТелоДляОтвета <> Неопределено Тогда
|
||||
РезультатЗапроса.Тело = ТелоДляОтвета;
|
||||
РезультатЗапроса.Описание = ?(ТелоДляОтвета.Получить("description") <> Неопределено, ТелоДляОтвета["description"], "");
|
||||
@@ -214,7 +214,7 @@
|
||||
Лог.HTTPЗапрос = АдресРесурса;
|
||||
Лог.Метод = Метод;
|
||||
Лог.КодСостояния = КодСостояния;
|
||||
Лог.HTTPОтвет = HttpОбщегоНазначения.ФорматированныйJson(ТелоОтветаКакСтрока);
|
||||
Лог.HTTPОтвет = HttpОбщегоНазначенияВызовСервера.ФорматированныйJson(ТелоОтветаКакСтрока);
|
||||
Лог.Записать();
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -13,7 +13,7 @@
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>false</ExternalConnection>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ExternalConnection>false</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>true</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
ТелоЗапроса.Вставить("platformVersion", "1.1.1.1");
|
||||
КонецЕсли;
|
||||
|
||||
Соединение = Новый HTTPСоединение("update-api.1c.ru",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Соединение = Новый HTTPСоединение("update-api.1c.ru",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьPostЗапрос(Соединение, АдресРесурса, , ТелоЗапроса);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, , ТелоЗапроса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>true</ServerCall>
|
||||
<ServerCall>false</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
|
||||
</Properties>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<Global>false</Global>
|
||||
<ClientManagedApplication>false</ClientManagedApplication>
|
||||
<Server>true</Server>
|
||||
<ExternalConnection>true</ExternalConnection>
|
||||
<ExternalConnection>false</ExternalConnection>
|
||||
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
|
||||
<ServerCall>true</ServerCall>
|
||||
<Privileged>false</Privileged>
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
КонецЕсли;
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("sendMessage");
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьPostЗапрос(Соединение, АдресРесурса,, ТелоЗапроса);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса,, ТелоЗапроса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -24,24 +24,24 @@
|
||||
|
||||
ПараметрыЗапроса = Новый Структура("url", АдресВебхук);
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("setWebhook");
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция DeleteWebhook() Экспорт
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("deleteWebhook");
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция GetWebhookInfo() Экспорт
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("getWebhookInfo");
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -51,8 +51,8 @@
|
||||
Формат(ТелеграмОбщегоНазначения.ИдПоследнегоСообщения() + 1, "ЧГ=0"));
|
||||
ПараметрыЗапроса = Новый Структура("offset", Смещение);
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("getUpdates");
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -60,16 +60,16 @@
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("getFile");
|
||||
ПараметрыЗапроса = Новый Структура("file_id", ИдФайла);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция GetMe() Экспорт
|
||||
|
||||
АдресРесурса = АдресРесурсаПоИмениМетода("getMe");
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -79,8 +79,8 @@
|
||||
Разделитель = СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
|
||||
ДвоичныеДанныеДокумента = ДвоичныеДанныеДокумента(ИдЧата, ДокументДляОтправки, Надпись, БезУведомления, Разделитель);
|
||||
ДанныеДокумента = Новый Структура("Разделитель, ДвоичныеДанные", Разделитель, ДвоичныеДанныеДокумента);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьPostЗапрос(Соединение, АдресРесурса,, ДанныеДокумента);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса,, ДанныеДокумента);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -98,8 +98,8 @@
|
||||
Разделитель = СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
|
||||
ДвоичныеДанныеФото = ДвоичныеДанныеФайла(ФайлДляОтправки, ИмяФайла, "image/jpeg", "photo", Разделитель);
|
||||
ДанныеФото = Новый Структура("Разделитель, ДвоичныеДанные", Разделитель, ДвоичныеДанныеФото);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьPostЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса, ДанныеФото);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, ПараметрыЗапроса, ДанныеФото);
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// Получить обновления, пришедшие от вебхука и сохранить в базу
|
||||
Процедура ОбработатьИСохранитьОбновленияТелеграм(ТелоЗапроса) Экспорт
|
||||
|
||||
ДанныеОбновления = HttpОбщегоНазначения.СтрокаJsonВОбъект(ТелоЗапроса);
|
||||
ДанныеОбновления = HttpОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоЗапроса);
|
||||
|
||||
Если ДанныеОбновления = Неопределено Тогда
|
||||
Возврат;
|
||||
@@ -48,7 +48,7 @@
|
||||
Если ТипЗнч(ТелоЗапроса) = Тип("Соответствие") Тогда
|
||||
ДанныеОбновления = ТелоЗапроса;
|
||||
ИначеЕсли ТипЗнч(ТелоЗапроса) = Тип("Строка") Тогда
|
||||
ДанныеОбновления = HttpОбщегоНазначения.СтрокаJsonВОбъект(ТелоЗапроса);
|
||||
ДанныеОбновления = HttpОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелоЗапроса);
|
||||
Иначе
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
@@ -138,8 +138,8 @@
|
||||
Функция ПолучитьФайлССервераТелеграм(ПутьКФайлуНаСервере) Экспорт
|
||||
|
||||
АдресРесурса = СтрШаблон("file/bot%1/%2", ТелеграмПовторноеИспользование.ТелеграмТокен(), ПутьКФайлуНаСервере);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначения.ВыполнитьGetЗапрос(Соединение, АдресРесурса,, Истина);
|
||||
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьGetЗапрос(Соединение, АдресРесурса,, Истина);
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
Процедура ПроверкаОбновленийПоРасписанию() Экспорт
|
||||
|
||||
// Проверка установлен ли вебхук
|
||||
Ответ = HttpОбщегоНазначения.СтрокаJsonВОбъект(ТелеграмМетодыВызовСервера.GetWebhookInfo());
|
||||
Ответ = HttpОбщегоНазначенияВызовСервера.СтрокаJsonВОбъект(ТелеграмМетодыВызовСервера.GetWebhookInfo());
|
||||
Если Ответ["ok"] И ЗначениеЗаполнено(Ответ["result"]["url"]) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -248,7 +248,7 @@
|
||||
<Subsystem>ТелеграмБот</Subsystem>
|
||||
<Subsystem>Обновления</Subsystem>
|
||||
<CommonPicture>КартинкаБот</CommonPicture>
|
||||
<CommonModule>HttpОбщегоНазначения</CommonModule>
|
||||
<CommonModule>HttpОбщегоНазначенияВызовСервера</CommonModule>
|
||||
<CommonModule>РаботаСОбновлениямиВызовСервера</CommonModule>
|
||||
<CommonModule>РаботаСФайламиКлиентСервер</CommonModule>
|
||||
<CommonModule>ТелеграмМетодыВызовСервера</CommonModule>
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
Попытка
|
||||
//ТелеграмОбщегоНазначения.ОбработатьИСохранитьОбновленияТелеграм(Запрос.ПолучитьТелоКакСтроку());
|
||||
БотОбщегоНазначения.ОбработкаКомандыБота(Запрос.ПолучитьТелоКакСтроку());
|
||||
Ответ = HttpОбщегоНазначения.ОтветУспех();
|
||||
Ответ = HttpОбщегоНазначенияВызовСервера.ОтветУспех();
|
||||
Возврат Ответ;
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Возврат HttpОбщегоНазначения.ОтветОшибка();
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ОтветОшибка();
|
||||
КонецПопытки;
|
||||
|
||||
КонецФункции
|
||||
@@ -20,13 +20,13 @@
|
||||
ОтветБотИнфо = ТелеграмМетодыВызовСервера.GetMe();
|
||||
Если ОтветБотИнфо.Успех Тогда
|
||||
Ответ = Новый HTTPСервисОтвет(200);
|
||||
Ответ.УстановитьТелоИзСтроки(HttpОбщегоНазначения.ОбъектВСтрокуJson(ОтветБотИнфо.Тело));
|
||||
Ответ.УстановитьТелоИзСтроки(HttpОбщегоНазначенияВызовСервера.ОбъектВСтрокуJson(ОтветБотИнфо.Тело));
|
||||
Возврат Ответ;
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации("Телеграм-бот.Ошибка", УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Возврат HttpОбщегоНазначения.ОтветОшибка();
|
||||
Возврат HttpОбщегоНазначенияВызовСервера.ОтветОшибка();
|
||||
КонецПопытки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<VERSION>10</VERSION>
|
||||
<VERSION>13</VERSION>
|
||||
|
||||
Reference in New Issue
Block a user