1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-06-04 23:37:46 +02:00

TG: Правка отправки файлов

This commit is contained in:
Anton 2024-07-20 12:03:29 +03:00
parent d09d8db5fa
commit e45824d85c
2 changed files with 3872 additions and 3870 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1057,11 +1057,8 @@
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDЧата);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Вид);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Текст);
Расширение = "";
Метод = "";
ОпределитьМетодОтправки(Вид, Метод, Расширение);
OPI_Инструменты.ЗаменитьСпецсимволы(Текст, Разметка);
Если Не ЗначениеЗаполнено(ИмяФайла) Тогда
@ -1082,6 +1079,7 @@
СоответствиеФайлов = Новый Соответствие;
СоответствиеФайлов.Вставить(ИмяФайла, Файл);
Метод = ОпределитьМетодОтправки(Вид);
URL = "api.telegram.org/bot" + Токен + Метод;
Ответ = OPI_Инструменты.PostMultipart(URL, Параметры, СоответствиеФайлов, "mixed");
@ -1211,6 +1209,50 @@
КонецФункции
Функция ОпределитьМетодОтправки(Знач Вид)
Если Вид = "photo" Тогда
Метод = "/sendPhoto";
ИначеЕсли Вид = "video" Тогда
Метод = "/sendVideo";
ИначеЕсли Вид = "audio" Тогда
Метод = "/sendAudio";
ИначеЕсли Вид = "animation" Тогда
Метод = "/sendAnimation";
Иначе
Метод = "/sendDocument";
КонецЕсли;
Возврат Метод;
КонецФункции
Функция ПреобразоватьДанныеФайла(Файл, Вид, Счетчик)
ИмяФайла = "";
Если ТипЗнч(Файл) = Тип("Строка") И Вид = "document" Тогда
ТекущийФайл = Новый Файл(Файл);
ИмяФайла = ТекущийФайл.Имя;
КонецЕсли;
Если Не ЗначениеЗаполнено(ИмяФайла) Тогда
ИмяФайла = Вид + Строка(Счетчик);
Если Вид = "animation" Тогда
ИмяФайла = ИмяФайла + ".gif";
КонецЕсли;
КонецЕсли;
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Файл);
Возврат ИмяФайла;
КонецФункции
Процедура ПреобразоватьФайлыВМедиа(СоответствиеФайлов, Текст, Медиа)
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(СоответствиеФайлов);
@ -1271,44 +1313,4 @@
КонецПроцедуры
Процедура ОпределитьМетодОтправки(Знач Вид, Метод, Расширение)
Если Вид = "photo" Тогда
Метод = "/sendPhoto";
ИначеЕсли Вид = "video" Тогда
Метод = "/sendVideo";
ИначеЕсли Вид = "audio" Тогда
Метод = "/sendAudio";
ИначеЕсли Вид = "document" Тогда
Метод = "/sendDocument";
ИначеЕсли Вид = "animation" Тогда
Метод = "/sendAnimation";
Расширение = ".gif";
Иначе
ВызватьИсключение "Некорректный вид отправки";
КонецЕсли;
КонецПроцедуры
Функция ПреобразоватьДанныеФайла(Файл, Вид, Счетчик)
ИмяФайла = "";
Если ТипЗнч(Файл) = Тип("Строка") И Вид = "document" Тогда
ТекущийФайл = Новый Файл(Файл);
ИмяФайла = ТекущийФайл.Имя;
КонецЕсли;
Если Не ЗначениеЗаполнено(ИмяФайла) Тогда
ИмяФайла = Вид + Строка(Счетчик);
КонецЕсли;
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Файл);
Возврат ИмяФайла;
КонецФункции
#КонецОбласти