You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-13 20:05:19 +02:00
TG: Правка отправки файлов
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1057,11 +1057,8 @@
|
|||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDЧата);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDЧата);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Вид);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Вид);
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Текст);
|
||||||
|
|
||||||
Расширение = "";
|
|
||||||
Метод = "";
|
|
||||||
|
|
||||||
ОпределитьМетодОтправки(Вид, Метод, Расширение);
|
|
||||||
OPI_Инструменты.ЗаменитьСпецсимволы(Текст, Разметка);
|
OPI_Инструменты.ЗаменитьСпецсимволы(Текст, Разметка);
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(ИмяФайла) Тогда
|
Если Не ЗначениеЗаполнено(ИмяФайла) Тогда
|
||||||
@@ -1082,6 +1079,7 @@
|
|||||||
СоответствиеФайлов = Новый Соответствие;
|
СоответствиеФайлов = Новый Соответствие;
|
||||||
СоответствиеФайлов.Вставить(ИмяФайла, Файл);
|
СоответствиеФайлов.Вставить(ИмяФайла, Файл);
|
||||||
|
|
||||||
|
Метод = ОпределитьМетодОтправки(Вид);
|
||||||
URL = "api.telegram.org/bot" + Токен + Метод;
|
URL = "api.telegram.org/bot" + Токен + Метод;
|
||||||
Ответ = OPI_Инструменты.PostMultipart(URL, Параметры, СоответствиеФайлов, "mixed");
|
Ответ = OPI_Инструменты.PostMultipart(URL, Параметры, СоответствиеФайлов, "mixed");
|
||||||
|
|
||||||
@@ -1211,6 +1209,50 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ОпределитьМетодОтправки(Знач Вид)
|
||||||
|
|
||||||
|
Если Вид = "photo" Тогда
|
||||||
|
Метод = "/sendPhoto";
|
||||||
|
ИначеЕсли Вид = "video" Тогда
|
||||||
|
Метод = "/sendVideo";
|
||||||
|
ИначеЕсли Вид = "audio" Тогда
|
||||||
|
Метод = "/sendAudio";
|
||||||
|
ИначеЕсли Вид = "animation" Тогда
|
||||||
|
Метод = "/sendAnimation";
|
||||||
|
Иначе
|
||||||
|
Метод = "/sendDocument";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Метод;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПреобразоватьДанныеФайла(Файл, Вид, Счетчик)
|
||||||
|
|
||||||
|
ИмяФайла = "";
|
||||||
|
|
||||||
|
Если ТипЗнч(Файл) = Тип("Строка") И Вид = "document" Тогда
|
||||||
|
|
||||||
|
ТекущийФайл = Новый Файл(Файл);
|
||||||
|
ИмяФайла = ТекущийФайл.Имя;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(ИмяФайла) Тогда
|
||||||
|
ИмяФайла = Вид + Строка(Счетчик);
|
||||||
|
|
||||||
|
Если Вид = "animation" Тогда
|
||||||
|
ИмяФайла = ИмяФайла + ".gif";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Файл);
|
||||||
|
|
||||||
|
Возврат ИмяФайла;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
Процедура ПреобразоватьФайлыВМедиа(СоответствиеФайлов, Текст, Медиа)
|
Процедура ПреобразоватьФайлыВМедиа(СоответствиеФайлов, Текст, Медиа)
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(СоответствиеФайлов);
|
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(СоответствиеФайлов);
|
||||||
@@ -1271,44 +1313,4 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ОпределитьМетодОтправки(Знач Вид, Метод, Расширение)
|
|
||||||
|
|
||||||
Если Вид = "photo" Тогда
|
|
||||||
Метод = "/sendPhoto";
|
|
||||||
ИначеЕсли Вид = "video" Тогда
|
|
||||||
Метод = "/sendVideo";
|
|
||||||
ИначеЕсли Вид = "audio" Тогда
|
|
||||||
Метод = "/sendAudio";
|
|
||||||
ИначеЕсли Вид = "document" Тогда
|
|
||||||
Метод = "/sendDocument";
|
|
||||||
ИначеЕсли Вид = "animation" Тогда
|
|
||||||
Метод = "/sendAnimation";
|
|
||||||
Расширение = ".gif";
|
|
||||||
Иначе
|
|
||||||
ВызватьИсключение "Некорректный вид отправки";
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
Функция ПреобразоватьДанныеФайла(Файл, Вид, Счетчик)
|
|
||||||
|
|
||||||
ИмяФайла = "";
|
|
||||||
|
|
||||||
Если ТипЗнч(Файл) = Тип("Строка") И Вид = "document" Тогда
|
|
||||||
|
|
||||||
ТекущийФайл = Новый Файл(Файл);
|
|
||||||
ИмяФайла = ТекущийФайл.Имя;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(ИмяФайла) Тогда
|
|
||||||
ИмяФайла = Вид + Строка(Счетчик);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Файл);
|
|
||||||
|
|
||||||
Возврат ИмяФайла;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
Reference in New Issue
Block a user