You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-07-05 00:58:52 +02:00
Telegram: функции форума
This commit is contained in:
@ -37,7 +37,9 @@
|
|||||||
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
||||||
Функция ПолучитьИнформациюБота(Знач Токен) Экспорт
|
Функция ПолучитьИнформациюБота(Знач Токен) Экспорт
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + "/getMe");
|
URL = "api.telegram.org/bot" + Токен + "/getMe";
|
||||||
|
Ответ = OPI_Инструменты.Get(URL);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@ -51,7 +53,8 @@
|
|||||||
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
||||||
Функция ПолучитьОбновления(Знач Токен) Экспорт
|
Функция ПолучитьОбновления(Знач Токен) Экспорт
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + "/getUpdates");
|
URL = "api.telegram.org/bot" + Токен + "/getUpdates";
|
||||||
|
Ответ = OPI_Инструменты.Get(URL);
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@ -69,7 +72,9 @@
|
|||||||
Параметры_ = Новый Структура;
|
Параметры_ = Новый Структура;
|
||||||
Параметры_.Вставить("url", URL);
|
Параметры_.Вставить("url", URL);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + "/setWebHook", Параметры_);
|
URL = "api.telegram.org/bot" + Токен + "/setWebHook";
|
||||||
|
Ответ = OPI_Инструменты.Get(URL, Параметры_);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@ -83,7 +88,8 @@
|
|||||||
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
||||||
Функция УдалитьWebhook(Знач Токен) Экспорт
|
Функция УдалитьWebhook(Знач Токен) Экспорт
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + "/deleteWebHook");
|
URL = "api.telegram.org/bot" + Токен + "/deleteWebHook";
|
||||||
|
Ответ = OPI_Инструменты.Get(URL);
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@ -201,15 +207,16 @@
|
|||||||
Функция ОтправитьТекстовоеСообщение(Знач Токен, Знач IDЧата, Знач Текст, Знач Клавиатура = "") Экспорт
|
Функция ОтправитьТекстовоеСообщение(Знач Токен, Знач IDЧата, Знач Текст, Знач Клавиатура = "") Экспорт
|
||||||
|
|
||||||
OPI_Инструменты.ЗаменитьСпецСимволы(Текст);
|
OPI_Инструменты.ЗаменитьСпецСимволы(Текст);
|
||||||
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
|
||||||
|
|
||||||
Параметры_ = Новый Структура;
|
Параметры_ = Новый Структура;
|
||||||
Параметры_.Вставить("parse_mode", "Markdown");
|
Параметры_.Вставить("parse_mode" , "Markdown");
|
||||||
Параметры_.Вставить("text", Текст);
|
Параметры_.Вставить("text" , Текст);
|
||||||
Параметры_.Вставить("chat_id", IDЧата);
|
|
||||||
Параметры_.Вставить("reply_markup", Клавиатура);
|
Параметры_.Вставить("reply_markup", Клавиатура);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + "/sendMessage", Параметры_);
|
ДобавитьИдентификаторЧата(IDЧата, Параметры_);
|
||||||
|
|
||||||
|
URL = "api.telegram.org/bot" + Токен + "/sendMessage";
|
||||||
|
Ответ = OPI_Инструменты.Get(URL, Параметры_);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
@ -323,56 +330,26 @@
|
|||||||
|
|
||||||
OPI_Инструменты.ЗаменитьСпецсимволы(Текст);
|
OPI_Инструменты.ЗаменитьСпецсимволы(Текст);
|
||||||
|
|
||||||
|
URL = "api.telegram.org/bot" + Токен + "/sendMediaGroup";
|
||||||
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||||
СтруктураФайлов = Новый Структура;
|
СтруктураФайлов = Новый Структура;
|
||||||
Медиа = Новый Массив;
|
Медиа = Новый Массив;
|
||||||
Счетчик = 0;
|
|
||||||
|
|
||||||
Параметры_ = Новый Структура;
|
Параметры_ = Новый Структура;
|
||||||
Параметры_.Вставить("parse_mode", "Markdown");
|
Параметры_.Вставить("parse_mode" , "Markdown");
|
||||||
Параметры_.Вставить("caption", Текст);
|
Параметры_.Вставить("caption" , Текст);
|
||||||
Параметры_.Вставить("chat_id", IDЧата);
|
|
||||||
Параметры_.Вставить("reply_markup", Клавиатура);
|
Параметры_.Вставить("reply_markup", Клавиатура);
|
||||||
|
|
||||||
|
ДобавитьИдентификаторЧата(IDЧата, Параметры_);
|
||||||
|
СформироватьМассивМедиа(СоответствиеФайлов, Текст, СтруктураФайлов, Медиа);
|
||||||
|
|
||||||
|
Параметры_.Вставить("media", Медиа);
|
||||||
|
|
||||||
Для Каждого ТекущийФайл Из СоответствиеФайлов Цикл
|
Ответ = OPI_Инструменты.PostMultipart(URL, Параметры_, СтруктураФайлов, "mixed");
|
||||||
|
|
||||||
Если Не ТипЗнч(ТекущийФайл.Ключ) = Тип("ДвоичныеДанные") Тогда
|
|
||||||
ДД = Новый ДвоичныеДанные(ТекущийФайл.Ключ);
|
|
||||||
ЭтотФайл = Новый Файл(ТекущийФайл.Ключ);
|
|
||||||
ИмяМедиа = ТекущийФайл.Значение + Строка(Счетчик) + ?(ТекущийФайл.Значение = "document",
|
|
||||||
ЭтотФайл.Расширение, "");
|
|
||||||
ПолноеИмяМедиа = СтрЗаменить(ИмяМедиа, ".", "___");
|
|
||||||
Иначе
|
|
||||||
ДД = ТекущийФайл.Ключ;
|
|
||||||
ИмяМедиа = ТекущийФайл.Значение + Строка(Счетчик);
|
|
||||||
ПолноеИмяМедиа = ИмяМедиа;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
СтруктураФайлов.Вставить(ПолноеИмяМедиа, ДД);
|
|
||||||
|
|
||||||
СтруктураМедиа = Новый Структура;
|
|
||||||
СтруктураМедиа.Вставить("type", ТекущийФайл.Значение);
|
|
||||||
СтруктураМедиа.Вставить("media", "attach://" + ИмяМедиа);
|
|
||||||
|
|
||||||
Если Счетчик = 0 Тогда
|
|
||||||
СтруктураМедиа.Вставить("caption", Текст);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Медиа.Добавить(СтруктураМедиа);
|
|
||||||
|
|
||||||
Счетчик = Счетчик + 1;
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Параметры_.Вставить("media", OPI_Инструменты.JSONСтрокой(Медиа));
|
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.PostMultipart("api.telegram.org/bot" + Токен + "/sendMediaGroup", Параметры_,
|
|
||||||
СтруктураФайлов, "mixed");
|
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
// BSLLS:Typo-on
|
|
||||||
|
|
||||||
// Отправить местоположение.
|
// Отправить местоположение.
|
||||||
//
|
//
|
||||||
@ -388,15 +365,17 @@
|
|||||||
Функция ОтправитьМестоположение(Знач Токен, Знач IDЧата, Знач Широта, Знач Долгота, Знач Клавиатура = "") Экспорт
|
Функция ОтправитьМестоположение(Знач Токен, Знач IDЧата, Знач Широта, Знач Долгота, Знач Клавиатура = "") Экспорт
|
||||||
|
|
||||||
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||||
|
URL = "api.telegram.org/bot" + Токен + "/sendLocation";
|
||||||
|
|
||||||
Параметры_ = Новый Структура;
|
Параметры_ = Новый Структура;
|
||||||
Параметры_.Вставить("parse_mode", "Markdown");
|
Параметры_.Вставить("parse_mode" , "Markdown");
|
||||||
Параметры_.Вставить("chat_id", IDЧата);
|
Параметры_.Вставить("latitude" , OPI_Инструменты.ЧислоВСтроку(Широта));
|
||||||
Параметры_.Вставить("latitude", OPI_Инструменты.ЧислоВСтроку(Широта));
|
Параметры_.Вставить("longitude" , OPI_Инструменты.ЧислоВСтроку(Долгота));
|
||||||
Параметры_.Вставить("longitude", OPI_Инструменты.ЧислоВСтроку(Долгота));
|
|
||||||
Параметры_.Вставить("reply_markup", Клавиатура);
|
Параметры_.Вставить("reply_markup", Клавиатура);
|
||||||
|
|
||||||
|
ДобавитьИдентификаторЧата(IDЧата, Параметры_);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + "/sendLocation", Параметры_);
|
Ответ = OPI_Инструменты.Get(URL, Параметры_);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
@ -417,16 +396,18 @@
|
|||||||
Функция ОтправитьКонтакт(Знач Токен, Знач IDЧата, Знач Имя, Знач Фамилия, Знач Телефон, Знач Клавиатура = "") Экспорт
|
Функция ОтправитьКонтакт(Знач Токен, Знач IDЧата, Знач Имя, Знач Фамилия, Знач Телефон, Знач Клавиатура = "") Экспорт
|
||||||
|
|
||||||
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||||
|
URL = "api.telegram.org/bot" + Токен + "/sendContact";
|
||||||
|
|
||||||
Параметры_ = Новый Структура;
|
Параметры_ = Новый Структура;
|
||||||
Параметры_.Вставить("parse_mode", "Markdown");
|
Параметры_.Вставить("parse_mode" , "Markdown");
|
||||||
Параметры_.Вставить("chat_id", IDЧата);
|
Параметры_.Вставить("first_name" , Имя);
|
||||||
Параметры_.Вставить("first_name", Имя);
|
Параметры_.Вставить("last_name" , Фамилия);
|
||||||
Параметры_.Вставить("last_name", Фамилия);
|
|
||||||
Параметры_.Вставить("phone_number", Строка(Телефон));
|
Параметры_.Вставить("phone_number", Строка(Телефон));
|
||||||
Параметры_.Вставить("reply_markup", Клавиатура);
|
Параметры_.Вставить("reply_markup", Клавиатура);
|
||||||
|
|
||||||
|
ДобавитьИдентификаторЧата(IDЧата, Параметры_);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + "/sendContact", Параметры_);
|
Ответ = OPI_Инструменты.Get(URL, Параметры_);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
@ -447,18 +428,20 @@
|
|||||||
|
|
||||||
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||||
Ответы = OPI_Инструменты.JSONСтрокой(МассивОтветов);
|
Ответы = OPI_Инструменты.JSONСтрокой(МассивОтветов);
|
||||||
|
URL = "api.telegram.org/bot" + Токен + "/sendPoll";
|
||||||
|
|
||||||
Параметры_ = Новый Структура;
|
Параметры_ = Новый Структура;
|
||||||
Параметры_.Вставить("parse_mode", "Markdown");
|
Параметры_.Вставить("parse_mode", "Markdown");
|
||||||
Параметры_.Вставить("chat_id", IDЧата);
|
Параметры_.Вставить("question" , Вопрос);
|
||||||
Параметры_.Вставить("question", Вопрос);
|
Параметры_.Вставить("options" , Ответы);
|
||||||
Параметры_.Вставить("options", Ответы);
|
|
||||||
|
|
||||||
Если Не Анонимный Тогда
|
Если Не Анонимный Тогда
|
||||||
Параметры_.Вставить("is_anonymous", Ложь);
|
Параметры_.Вставить("is_anonymous", Ложь);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
ДобавитьИдентификаторЧата(IDЧата, Параметры_);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + "/sendPoll", Параметры_);
|
Ответ = OPI_Инструменты.Get(URL, Параметры_);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
@ -476,16 +459,18 @@
|
|||||||
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
||||||
Функция ПереслатьСообщение(Знач Токен, Знач IDОригинала, Знач ОткудаID, Знач КудаID) Экспорт
|
Функция ПереслатьСообщение(Знач Токен, Знач IDОригинала, Знач ОткудаID, Знач КудаID) Экспорт
|
||||||
|
|
||||||
|
URL = "api.telegram.org/bot" + Токен + "/forwardMessage";
|
||||||
IDОригинала = OPI_Инструменты.ЧислоВСтроку(IDОригинала);
|
IDОригинала = OPI_Инструменты.ЧислоВСтроку(IDОригинала);
|
||||||
ОткудаID = OPI_Инструменты.ЧислоВСтроку(ОткудаID);
|
ОткудаID = OPI_Инструменты.ЧислоВСтроку(ОткудаID);
|
||||||
КудаID = OPI_Инструменты.ЧислоВСтроку(КудаID);
|
КудаID = OPI_Инструменты.ЧислоВСтроку(КудаID);
|
||||||
|
|
||||||
Параметры_ = Новый Структура;
|
Параметры_ = Новый Структура;
|
||||||
Параметры_.Вставить("chat_id", КудаID);
|
|
||||||
Параметры_.Вставить("from_chat_id", ОткудаID);
|
Параметры_.Вставить("from_chat_id", ОткудаID);
|
||||||
Параметры_.Вставить("message_id", IDОригинала);
|
Параметры_.Вставить("message_id" , IDОригинала);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + "/forwardMessage", Параметры_);
|
ДобавитьИдентификаторЧата(КудаID, Параметры_);
|
||||||
|
|
||||||
|
Ответ = OPI_Инструменты.Get(URL, Параметры_);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
@ -506,15 +491,16 @@
|
|||||||
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
||||||
Функция Бан(Знач Токен, Знач IDЧата, Знач IDПользователя) Экспорт
|
Функция Бан(Знач Токен, Знач IDЧата, Знач IDПользователя) Экспорт
|
||||||
|
|
||||||
|
URL = "api.telegram.org/bot" + Токен + "/banChatMember";
|
||||||
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||||
IDПользователя = OPI_Инструменты.ЧислоВСтроку(IDПользователя);
|
IDПользователя = OPI_Инструменты.ЧислоВСтроку(IDПользователя);
|
||||||
|
|
||||||
Параметры_ = Новый Структура;
|
Параметры_ = Новый Структура;
|
||||||
Параметры_.Вставить("parse_mode", "Markdown");
|
Параметры_.Вставить("parse_mode", "Markdown");
|
||||||
Параметры_.Вставить("chat_id", IDЧата);
|
Параметры_.Вставить("chat_id" , IDЧата);
|
||||||
Параметры_.Вставить("user_id", IDПользователя);
|
Параметры_.Вставить("user_id" , IDПользователя);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + "/banChatMember", Параметры_);
|
Ответ = OPI_Инструменты.Get(URL, Параметры_);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
@ -531,16 +517,17 @@
|
|||||||
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
||||||
Функция Разбан(Знач Токен, Знач IDЧата, Знач IDПользователя) Экспорт
|
Функция Разбан(Знач Токен, Знач IDЧата, Знач IDПользователя) Экспорт
|
||||||
|
|
||||||
|
URL = "api.telegram.org/bot" + Токен + "/unbanChatMember";
|
||||||
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||||
IDПользователя = OPI_Инструменты.ЧислоВСтроку(IDПользователя);
|
IDПользователя = OPI_Инструменты.ЧислоВСтроку(IDПользователя);
|
||||||
|
|
||||||
Параметры_ = Новый Структура;
|
Параметры_ = Новый Структура;
|
||||||
Параметры_.Вставить("parse_mode", "Markdown");
|
Параметры_.Вставить("parse_mode" , "Markdown");
|
||||||
Параметры_.Вставить("chat_id", IDЧата);
|
Параметры_.Вставить("chat_id" , IDЧата);
|
||||||
Параметры_.Вставить("user_id", IDПользователя);
|
Параметры_.Вставить("user_id" , IDПользователя);
|
||||||
Параметры_.Вставить("only_if_banned", Истина);
|
Параметры_.Вставить("only_if_banned", Истина);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + "/unbanChatMember", Параметры_);
|
Ответ = OPI_Инструменты.Get(URL, Параметры_);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
@ -557,15 +544,19 @@
|
|||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
||||||
Функция СоздатьСсылкуПриглашение(Знач Токен, Знач IDЧата, Знач Заголовок = "", Знач ДатаИстечения = "",
|
Функция СоздатьСсылкуПриглашение(Знач Токен
|
||||||
Знач ЛимитПользователей = 0) Экспорт
|
, Знач IDЧата
|
||||||
|
, Знач Заголовок = ""
|
||||||
|
, Знач ДатаИстечения = ""
|
||||||
|
, Знач ЛимитПользователей = 0) Экспорт
|
||||||
|
|
||||||
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
URL = "api.telegram.org/bot" + Токен + "/createChatInviteLink";
|
||||||
|
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||||
|
|
||||||
Параметры_ = Новый Структура;
|
Параметры_ = Новый Структура;
|
||||||
Параметры_.Вставить("parse_mode", "Markdown");
|
Параметры_.Вставить("parse_mode", "Markdown");
|
||||||
Параметры_.Вставить("chat_id", IDЧата);
|
Параметры_.Вставить("chat_id" , IDЧата);
|
||||||
Параметры_.Вставить("name", Заголовок);
|
Параметры_.Вставить("name" , Заголовок);
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(ДатаИстечения) Тогда
|
Если ЗначениеЗаполнено(ДатаИстечения) Тогда
|
||||||
Параметры_.Вставить("expire_date", Формат(ДатаИстечения - Дата(1970, 1, 1, 1, 0, 0), "ЧГ=0"));
|
Параметры_.Вставить("expire_date", Формат(ДатаИстечения - Дата(1970, 1, 1, 1, 0, 0), "ЧГ=0"));
|
||||||
@ -573,7 +564,7 @@
|
|||||||
|
|
||||||
Параметры_.Вставить("member_limit", ЛимитПользователей);
|
Параметры_.Вставить("member_limit", ЛимитПользователей);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + "/createChatInviteLink", Параметры_);
|
Ответ = OPI_Инструменты.Get(URL, Параметры_);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
@ -590,16 +581,17 @@
|
|||||||
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
||||||
Функция ЗакрепитьСообщение(Знач Токен, Знач IDЧата, Знач IDСообщения) Экспорт
|
Функция ЗакрепитьСообщение(Знач Токен, Знач IDЧата, Знач IDСообщения) Экспорт
|
||||||
|
|
||||||
|
URL = "api.telegram.org/bot" + Токен + "/pinChatMessage";
|
||||||
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||||
IDСообщения = OPI_Инструменты.ЧислоВСтроку(IDСообщения);
|
IDСообщения = OPI_Инструменты.ЧислоВСтроку(IDСообщения);
|
||||||
|
|
||||||
Параметры_ = Новый Структура;
|
Параметры_ = Новый Структура;
|
||||||
Параметры_.Вставить("parse_mode", "Markdown");
|
Параметры_.Вставить("parse_mode" , "Markdown");
|
||||||
Параметры_.Вставить("chat_id", IDЧата);
|
Параметры_.Вставить("chat_id" , IDЧата);
|
||||||
Параметры_.Вставить("message_id", IDСообщения);
|
Параметры_.Вставить("message_id" , IDСообщения);
|
||||||
Параметры_.Вставить("disable_notification", Истина);
|
Параметры_.Вставить("disable_notification", Истина);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + "/pinChatMessage", Параметры_);
|
Ответ = OPI_Инструменты.Get(URL, Параметры_);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
@ -616,15 +608,16 @@
|
|||||||
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram
|
||||||
Функция ОткрепитьСообщение(Знач Токен, Знач IDЧата, Знач IDСообщения) Экспорт
|
Функция ОткрепитьСообщение(Знач Токен, Знач IDЧата, Знач IDСообщения) Экспорт
|
||||||
|
|
||||||
|
URL = "api.telegram.org/bot" + Токен + "/unpinChatMessage";
|
||||||
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||||
IDСообщения = OPI_Инструменты.ЧислоВСтроку(IDСообщения);
|
IDСообщения = OPI_Инструменты.ЧислоВСтроку(IDСообщения);
|
||||||
|
|
||||||
Параметры_ = Новый Структура;
|
Параметры_ = Новый Структура;
|
||||||
Параметры_.Вставить("parse_mode", "Markdown");
|
Параметры_.Вставить("parse_mode", "Markdown");
|
||||||
Параметры_.Вставить("chat_id", IDЧата);
|
Параметры_.Вставить("chat_id" , IDЧата);
|
||||||
Параметры_.Вставить("message_id", IDСообщения);
|
Параметры_.Вставить("message_id", IDСообщения);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + "/unpinChatMessage", Параметры_);
|
Ответ = OPI_Инструменты.Get(URL, Параметры_);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
@ -640,13 +633,14 @@
|
|||||||
// ДвоичныеДанные, Неопределено, Произвольный - Получить число участников
|
// ДвоичныеДанные, Неопределено, Произвольный - Получить число участников
|
||||||
Функция ПолучитьЧислоУчастников(Знач Токен, Знач IDЧата) Экспорт
|
Функция ПолучитьЧислоУчастников(Знач Токен, Знач IDЧата) Экспорт
|
||||||
|
|
||||||
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
URL = "api.telegram.org/bot" + Токен + "/getChatMemberCount";
|
||||||
|
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||||
|
|
||||||
Параметры_ = Новый Структура;
|
Параметры_ = Новый Структура;
|
||||||
Параметры_.Вставить("parse_mode", "Markdown");
|
Параметры_.Вставить("parse_mode", "Markdown");
|
||||||
Параметры_.Вставить("chat_id", IDЧата);
|
Параметры_.Вставить("chat_id" , IDЧата);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + "/getChatMemberCount", Параметры_);
|
Ответ = OPI_Инструменты.Get(URL, Параметры_);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
@ -720,6 +714,106 @@
|
|||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область РежимФорума
|
||||||
|
|
||||||
|
// Получить список иконок аватаров.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Токен - Строка - Токен
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие Из КлючИЗначение - Список иконок аватаров
|
||||||
|
Функция ПолучитьСписокИконокАватаров(Знач Токен) Экспорт
|
||||||
|
|
||||||
|
Result = "result";
|
||||||
|
URL = "api.telegram.org/bot" + Токен + "/getForumTopicIconStickers";
|
||||||
|
Ответ = OPI_Инструменты.Get(URL);
|
||||||
|
Иконки = Ответ[Result];
|
||||||
|
Коллекция = Новый Соответствие;
|
||||||
|
|
||||||
|
Для Каждого Иконка Из Иконки Цикл
|
||||||
|
Коллекция.Вставить(Иконка["custom_emoji_id"], Иконка["emoji"]);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат Коллекция;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Создать тему форума.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Токен - Строка - Токен
|
||||||
|
// IDЧата - Строка,Число - ID чата создания темы
|
||||||
|
// Заголовок - Строка - Заголовок темы
|
||||||
|
// IDИконки - Строка - См.ПолучитьСписокИконокАватаров
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// HTTPОтвет - Ответ сервера Telegram
|
||||||
|
Функция СоздатьТемуФорума(Знач Токен, Знач IDЧата, Знач Заголовок, Знач IDИконки = "") Экспорт
|
||||||
|
Возврат УправлениеТемойФорума(Токен, IDЧата, Заголовок, IDИконки);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Изменить тему форума.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Токен - Строка - Токен
|
||||||
|
// IDЧата - Строка,Число - ID чата темы
|
||||||
|
// IDТемы - Строка,Число - ID темы
|
||||||
|
// Заголовок - Строка - Новый заголовок
|
||||||
|
// IDИконки - Строка - См.ПолучитьСписокИконокАватаров
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// HTTPОтвет - Ответ сервера Telegram
|
||||||
|
Функция ИзменитьТемуФорума(Знач Токен
|
||||||
|
, Знач IDЧата
|
||||||
|
, Знач IDТемы
|
||||||
|
, Знач Заголовок = Неопределено
|
||||||
|
, Знач IDИконки = Неопределено) Экспорт
|
||||||
|
|
||||||
|
Возврат УправлениеТемойФорума(Токен, IDЧата, Заголовок, IDИконки, IDТемы);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Закрыть тему форума.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Токен - Строка - Токен
|
||||||
|
// IDЧата - Строка,Число - ID чата темы
|
||||||
|
// IDТемы - Строка,Число - ID темы
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Неопределено, HTTPОтвет - Ответ сервера Telegram
|
||||||
|
Функция ЗакрытьТемуФорума(Знач Токен, Знач IDЧата, Знач IDТемы) Экспорт
|
||||||
|
Возврат УправлениеСостояниемТемыФорума(Токен, IDЧата, IDТемы, 2);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Открыть тему форума.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Токен - Строка - Токен
|
||||||
|
// IDЧата - Строка,Число - ID чата темы
|
||||||
|
// IDТемы - Строка,Число - ID темы
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Неопределено, HTTPОтвет - Ответ сервера Telegram
|
||||||
|
Функция ОткрытьТемуФорума(Знач Токен, Знач IDЧата, Знач IDТемы) Экспорт
|
||||||
|
Возврат УправлениеСостояниемТемыФорума(Токен, IDЧата, IDТемы, 1);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Удалить тему форума.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Токен - Строка - Токен
|
||||||
|
// IDЧата - Строка,Число - ID чата темы
|
||||||
|
// IDТемы - Строка,Число - ID темы
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Неопределено, HTTPОтвет - Ответ сервера Telegram
|
||||||
|
Функция УдалитьТемуФорума(Знач Токен, Знач IDЧата, Знач IDТемы) Экспорт
|
||||||
|
Возврат УправлениеСостояниемТемыФорума(Токен, IDЧата, IDТемы, 3);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
#Область Прочее
|
#Область Прочее
|
||||||
|
|
||||||
// Сформировать клавиатуру по массиву кнопок.
|
// Сформировать клавиатуру по массиву кнопок.
|
||||||
@ -783,25 +877,12 @@
|
|||||||
|
|
||||||
Функция ОтправитьФайл(Знач Токен, Знач IDЧата, Знач Текст, Знач Файл, Знач Вид, Знач Клавиатура)
|
Функция ОтправитьФайл(Знач Токен, Знач IDЧата, Знач Текст, Знач Файл, Знач Вид, Знач Клавиатура)
|
||||||
|
|
||||||
|
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||||
Расширение = "";
|
Расширение = "";
|
||||||
|
Метод = "";
|
||||||
Если Вид = "photo" Тогда
|
|
||||||
Метод = "/sendPhoto";
|
ОпределитьМетодОтправки(Вид, Метод, Расширение);
|
||||||
ИначеЕсли Вид = "video" Тогда
|
|
||||||
Метод = "/sendVideo";
|
|
||||||
ИначеЕсли Вид = "audio" Тогда
|
|
||||||
Метод = "/sendAudio";
|
|
||||||
ИначеЕсли Вид = "document" Тогда
|
|
||||||
Метод = "/sendDocument";
|
|
||||||
ИначеЕсли Вид = "animation" Тогда
|
|
||||||
Метод = "/sendAnimation";
|
|
||||||
Расширение = ".gif";
|
|
||||||
Иначе
|
|
||||||
Возврат "";
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
OPI_Инструменты.ЗаменитьСпецсимволы(Текст);
|
OPI_Инструменты.ЗаменитьСпецсимволы(Текст);
|
||||||
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
|
||||||
|
|
||||||
Если Не ТипЗнч(Файл) = Тип("ДвоичныеДанные") Тогда
|
Если Не ТипЗнч(Файл) = Тип("ДвоичныеДанные") Тогда
|
||||||
ТекущийФайл = Новый Файл(Файл);
|
ТекущийФайл = Новый Файл(Файл);
|
||||||
@ -812,20 +893,152 @@
|
|||||||
Расширение = СтрЗаменить(Расширение, ".", "___");
|
Расширение = СтрЗаменить(Расширение, ".", "___");
|
||||||
|
|
||||||
Параметры_ = Новый Структура;
|
Параметры_ = Новый Структура;
|
||||||
Параметры_.Вставить("parse_mode", "Markdown");
|
Параметры_.Вставить("parse_mode" , "Markdown");
|
||||||
Параметры_.Вставить("caption", Текст);
|
Параметры_.Вставить("caption" , Текст);
|
||||||
Параметры_.Вставить("chat_id", IDЧата);
|
|
||||||
Параметры_.Вставить("reply_markup", Клавиатура);
|
Параметры_.Вставить("reply_markup", Клавиатура);
|
||||||
|
|
||||||
|
ДобавитьИдентификаторЧата(IDЧата, Параметры_);
|
||||||
|
|
||||||
СтруктураФайлов = Новый Структура;
|
СтруктураФайлов = Новый Структура;
|
||||||
СтруктураФайлов.Вставить(Вид + Расширение, Файл);
|
СтруктураФайлов.Вставить(Вид + Расширение, Файл);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.PostMultipart("api.telegram.org/bot" + Токен + Метод, Параметры_, СтруктураФайлов, "mixed");
|
URL = "api.telegram.org/bot" + Токен + Метод;
|
||||||
|
Ответ = OPI_Инструменты.PostMultipart(URL, Параметры_, СтруктураФайлов, "mixed");
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция УправлениеТемойФорума(Знач Токен
|
||||||
|
, Знач IDЧата
|
||||||
|
, Знач Заголовок = Неопределено
|
||||||
|
, Знач IDИконки = Неопределено
|
||||||
|
, Знач IDТемы = "")
|
||||||
|
|
||||||
|
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||||
|
|
||||||
|
Параметры_ = Новый Структура;
|
||||||
|
Параметры_.Вставить("name" , Заголовок);
|
||||||
|
Параметры_.Вставить("chat_id" , IDЧата);
|
||||||
|
Параметры_.Вставить("icon_custom_emoji_id", IDИконки);
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(IDТемы) Тогда
|
||||||
|
|
||||||
|
IDТемы = OPI_Инструменты.ЧислоВСтроку(IDТемы);
|
||||||
|
Метод = "/editForumTopic";
|
||||||
|
|
||||||
|
Параметры_.Вставить("message_thread_id", IDТемы);
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
Метод = "/createForumTopic";
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
OPI_Инструменты.УдалитьПустыеПоляКоллекции(Параметры_);
|
||||||
|
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + Метод, Параметры_);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция УправлениеСостояниемТемыФорума(Знач Токен, Знач IDЧата, Знач IDТемы, Знач Статус)
|
||||||
|
|
||||||
|
Если Статус = 1 Тогда
|
||||||
|
Метод = "/reopenForumTopic";
|
||||||
|
ИначеЕсли Статус = 2 Тогда
|
||||||
|
Метод = "/closeForumTopic";
|
||||||
|
ИначеЕсли Статус = 3 Тогда
|
||||||
|
Метод = "/deleteForumTopic";
|
||||||
|
Иначе
|
||||||
|
Возврат Неопределено;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Параметры_ = Новый Структура;
|
||||||
|
Параметры_.Вставить("chat_id" , IDЧата);
|
||||||
|
Параметры_.Вставить("message_thread_id", IDТемы);
|
||||||
|
|
||||||
|
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + Метод, Параметры_);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Процедура СформироватьМассивМедиа(Знач СоответствиеФайлов, Знач Текст, СтруктураФайлов, Медиа)
|
||||||
|
|
||||||
|
Счетчик = 0;
|
||||||
|
|
||||||
|
Для Каждого ТекущийФайл Из СоответствиеФайлов Цикл
|
||||||
|
|
||||||
|
Если Не ТипЗнч(ТекущийФайл.Ключ) = Тип("ДвоичныеДанные") Тогда
|
||||||
|
ДД = Новый ДвоичныеДанные(ТекущийФайл.Ключ);
|
||||||
|
ЭтотФайл = Новый Файл(ТекущийФайл.Ключ);
|
||||||
|
ИмяМедиа = ТекущийФайл.Значение + Строка(Счетчик) + ?(ТекущийФайл.Значение = "document",
|
||||||
|
ЭтотФайл.Расширение, "");
|
||||||
|
ПолноеИмяМедиа = СтрЗаменить(ИмяМедиа, ".", "___");
|
||||||
|
Иначе
|
||||||
|
ДД = ТекущийФайл.Ключ;
|
||||||
|
ИмяМедиа = ТекущийФайл.Значение + Строка(Счетчик);
|
||||||
|
ПолноеИмяМедиа = ИмяМедиа;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
СтруктураФайлов.Вставить(ПолноеИмяМедиа, ДД);
|
||||||
|
|
||||||
|
СтруктураМедиа = Новый Структура;
|
||||||
|
СтруктураМедиа.Вставить("type", ТекущийФайл.Значение);
|
||||||
|
СтруктураМедиа.Вставить("media", "attach://" + ИмяМедиа);
|
||||||
|
|
||||||
|
Если Счетчик = 0 Тогда
|
||||||
|
СтруктураМедиа.Вставить("caption", Текст);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Медиа.Добавить(СтруктураМедиа);
|
||||||
|
|
||||||
|
Счетчик = Счетчик + 1;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Медиа = OPI_Инструменты.JSONСтрокой(Медиа);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ДобавитьИдентификаторЧата(Знач IDЧата, Параметры)
|
||||||
|
|
||||||
|
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||||
|
МассивЧата = СтрРазделить(IDЧата, "*", Ложь);
|
||||||
|
|
||||||
|
Если МассивЧата.Количество() > 1 Тогда
|
||||||
|
|
||||||
|
IDЧата = МассивЧата[1];
|
||||||
|
IDТемы = МассивЧата[2];
|
||||||
|
|
||||||
|
Параметры.Вставить("message_thread_id", IDТемы);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Параметры.Вставить("chat_id", IDЧата);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ОпределитьМетодОтправки(Знач Вид, Метод, Расширение)
|
||||||
|
|
||||||
|
Если Вид = "photo" Тогда
|
||||||
|
Метод = "/sendPhoto";
|
||||||
|
ИначеЕсли Вид = "video" Тогда
|
||||||
|
Метод = "/sendVideo";
|
||||||
|
ИначеЕсли Вид = "audio" Тогда
|
||||||
|
Метод = "/sendAudio";
|
||||||
|
ИначеЕсли Вид = "document" Тогда
|
||||||
|
Метод = "/sendDocument";
|
||||||
|
ИначеЕсли Вид = "animation" Тогда
|
||||||
|
Метод = "/sendAnimation";
|
||||||
|
Расширение = ".gif";
|
||||||
|
Иначе
|
||||||
|
ВызватьИсключение "Некорректный вид отправки";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
// BSLLS:Typo-on
|
// BSLLS:Typo-on
|
@ -225,8 +225,6 @@
|
|||||||
Параметры = Новый Структура;
|
Параметры = Новый Структура;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Переадресация = 300;
|
|
||||||
Ошибка = 400;
|
|
||||||
ТипДанных = ?(JSON, "application/json", "application/x-www-form-urlencoded");
|
ТипДанных = ?(JSON, "application/json", "application/x-www-form-urlencoded");
|
||||||
СтруктураURL = РазбитьURL(URL);
|
СтруктураURL = РазбитьURL(URL);
|
||||||
Сервер = СтруктураURL["Сервер"];
|
Сервер = СтруктураURL["Сервер"];
|
||||||
@ -237,10 +235,9 @@
|
|||||||
|
|
||||||
УстановитьТелоЗапроса(Запрос, Параметры, JSON);
|
УстановитьТелоЗапроса(Запрос, Параметры, JSON);
|
||||||
|
|
||||||
Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос);
|
Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос);
|
||||||
ЭтоПереадресация = Ответ.КодСостояния >= Переадресация И Ответ.КодСостояния < Ошибка;
|
|
||||||
|
Если ЭтоПереадресация(Ответ) Тогда
|
||||||
Если ЭтоПереадресация Тогда
|
|
||||||
Ответ = ВыполнитьЗапросСТелом(Ответ.Заголовки["Location"], Вид, Параметры, ДопЗаголовки, JSON);
|
Ответ = ВыполнитьЗапросСТелом(Ответ.Заголовки["Location"], Вид, Параметры, ДопЗаголовки, JSON);
|
||||||
Иначе
|
Иначе
|
||||||
ОбработатьОтвет(Ответ);
|
ОбработатьОтвет(Ответ);
|
||||||
@ -256,19 +253,15 @@
|
|||||||
Параметры = Новый Структура;
|
Параметры = Новый Структура;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Переадресация = 300;
|
|
||||||
Ошибка = 400;
|
|
||||||
СтруктураURL = РазбитьURL(URL);
|
СтруктураURL = РазбитьURL(URL);
|
||||||
Сервер = СтруктураURL["Сервер"];
|
Сервер = СтруктураURL["Сервер"];
|
||||||
Адрес = СтруктураURL["Адрес"] + ПараметрыЗапросаВСтроку(Параметры);
|
Адрес = СтруктураURL["Адрес"] + ПараметрыЗапросаВСтроку(Параметры);
|
||||||
|
|
||||||
Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки);
|
Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки);
|
||||||
Соединение = СоздатьСоединение(Сервер);
|
Соединение = СоздатьСоединение(Сервер);
|
||||||
|
Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос);
|
||||||
Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос);
|
|
||||||
ЭтоПереадрисация = Ответ.КодСостояния >= Переадресация И Ответ.КодСостояния < Ошибка;
|
|
||||||
|
|
||||||
Если ЭтоПереадрисация Тогда
|
Если ЭтоПереадресация(Ответ) Тогда
|
||||||
Ответ = ВыполнитьЗапросБезТела(Ответ.Заголовки["Location"], Вид, Параметры, ДопЗаголовки);
|
Ответ = ВыполнитьЗапросБезТела(Ответ.Заголовки["Location"], Вид, Параметры, ДопЗаголовки);
|
||||||
Иначе
|
Иначе
|
||||||
ОбработатьОтвет(Ответ);
|
ОбработатьОтвет(Ответ);
|
||||||
@ -304,7 +297,6 @@
|
|||||||
|
|
||||||
Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки, ТипДанных);
|
Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки, ТипДанных);
|
||||||
Соединение = СоздатьСоединение(Сервер);
|
Соединение = СоздатьСоединение(Сервер);
|
||||||
|
|
||||||
ТелоЗапроса = Запрос.ПолучитьТелоКакПоток();
|
ТелоЗапроса = Запрос.ПолучитьТелоКакПоток();
|
||||||
ЗаписьТекста = Новый ЗаписьДанных(ТелоЗапроса, КодировкаТекста.UTF8, ПорядокБайтов.LittleEndian, "", "", Ложь);
|
ЗаписьТекста = Новый ЗаписьДанных(ТелоЗапроса, КодировкаТекста.UTF8, ПорядокБайтов.LittleEndian, "", "", Ложь);
|
||||||
|
|
||||||
@ -361,6 +353,17 @@
|
|||||||
Возврат Новый HTTPСоединение(Сервер, 443, , , , 300, Новый ЗащищенноеСоединениеOpenSSL);
|
Возврат Новый HTTPСоединение(Сервер, 443, , , , 300, Новый ЗащищенноеСоединениеOpenSSL);
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ЭтоПереадресация(Знач Ответ)
|
||||||
|
|
||||||
|
Переадресация = 300;
|
||||||
|
Ошибка = 400;
|
||||||
|
|
||||||
|
ЭтоПереадресация = Ответ.КодСостояния >= Переадресация И Ответ.КодСостояния < Ошибка;
|
||||||
|
|
||||||
|
Возврат ЭтоПереадресация;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
Процедура ОбработатьОтвет(Ответ)
|
Процедура ОбработатьОтвет(Ответ)
|
||||||
|
|
||||||
GZip = "gzip";
|
GZip = "gzip";
|
||||||
|
@ -25,14 +25,16 @@
|
|||||||
.ДобавитьСерверныйТест("Телеграм_ПереслатьСообщение" , "Переслать сообщение")
|
.ДобавитьСерверныйТест("Телеграм_ПереслатьСообщение" , "Переслать сообщение")
|
||||||
.ДобавитьСерверныйТест("Телеграм_БанРазбан" , "Бан/Разбан")
|
.ДобавитьСерверныйТест("Телеграм_БанРазбан" , "Бан/Разбан")
|
||||||
.ДобавитьСерверныйТест("Телеграм_СоздатьСсылкуПриглашение" , "Создать ссылку-приглашение")
|
.ДобавитьСерверныйТест("Телеграм_СоздатьСсылкуПриглашение" , "Создать ссылку-приглашение")
|
||||||
.ДобавитьСерверныйТест("Телеграм_ЗакрепитьОткрепитьСообщение" , "Закрепить/открепить сообщение")
|
.ДобавитьСерверныйТест("Телеграм_ЗакрепитьОткрепитьСообщение" , "Закрепить/Открепить сообщение")
|
||||||
.ДобавитьСерверныйТест("Телеграм_ПолучитьЧислоУчастников" , "Получить число участников")
|
.ДобавитьСерверныйТест("Телеграм_ПолучитьЧислоУчастников" , "Получить число участников")
|
||||||
|
.ДобавитьСерверныйТест("Телеграм_ПолучитьСписокАватаровФорума", "Получить список аватаров форума")
|
||||||
|
.ДобавитьСерверныйТест("Телеграм_СоздатьУдалитьТемуФорума" , "Создать/Удалить тему форума")
|
||||||
|
|
||||||
.ДобавитьТестовыйНабор("ВКонтакте")
|
.ДобавитьТестовыйНабор("ВКонтакте")
|
||||||
.ДобавитьСерверныйТест("ВК_СоздатьСсылкуТокена" , "Создать ссылку получения токена")
|
.ДобавитьСерверныйТест("ВК_СоздатьСсылкуТокена" , "Создать ссылку получения токена")
|
||||||
.ДобавитьСерверныйТест("ВК_СоздатьУдалитьПост" , "Создать/Удалить пост")
|
.ДобавитьСерверныйТест("ВК_СоздатьУдалитьПост" , "Создать/Удалить пост")
|
||||||
.ДобавитьСерверныйТест("ВК_СоздатьОпрос" , "Создать опрос")
|
.ДобавитьСерверныйТест("ВК_СоздатьОпрос" , "Создать опрос")
|
||||||
.ДобавитьСерверныйТест("ВК_СохранитьУдалитьКартинку" , "Добавить/удалить картинку и альбом")
|
.ДобавитьСерверныйТест("ВК_СохранитьУдалитьКартинку" , "Добавить/Удалить картинку и альбом")
|
||||||
.ДобавитьСерверныйТест("ВК_СоздатьИсторию" , "Создать историю")
|
.ДобавитьСерверныйТест("ВК_СоздатьИсторию" , "Создать историю")
|
||||||
.ДобавитьСерверныйТест("ВК_МетодыОбсуждений" , "Действия с обсуждениями")
|
.ДобавитьСерверныйТест("ВК_МетодыОбсуждений" , "Действия с обсуждениями")
|
||||||
.ДобавитьСерверныйТест("ВК_ЛайкРепостКоммент" , "Лайк/Репост/Комментарий")
|
.ДобавитьСерверныйТест("ВК_ЛайкРепостКоммент" , "Лайк/Репост/Комментарий")
|
||||||
@ -65,8 +67,8 @@
|
|||||||
.ДобавитьСерверныйТест("ГК_ПолучитьТокен" , "Получить токен")
|
.ДобавитьСерверныйТест("ГК_ПолучитьТокен" , "Получить токен")
|
||||||
.ДобавитьСерверныйТест("ГК_ОбновитьТокен" , "Обновить токен")
|
.ДобавитьСерверныйТест("ГК_ОбновитьТокен" , "Обновить токен")
|
||||||
.ДобавитьСерверныйТест("ГК_ПолучитьСписокКалендарей" , "Получить список календарей")
|
.ДобавитьСерверныйТест("ГК_ПолучитьСписокКалендарей" , "Получить список календарей")
|
||||||
.ДобавитьСерверныйТест("ГК_СоздатьУдалитьКалендарь" , "Создать/удалить календарь")
|
.ДобавитьСерверныйТест("ГК_СоздатьУдалитьКалендарь" , "Создать/Удалить календарь")
|
||||||
.ДобавитьСерверныйТест("ГК_СоздатьУдалитьСобытие" , "Создать/удалить событие")
|
.ДобавитьСерверныйТест("ГК_СоздатьУдалитьСобытие" , "Создать/Удалить событие")
|
||||||
.ДобавитьСерверныйТест("ГК_ПолучитьСписокСобытий" , "Получить список событий");
|
.ДобавитьСерверныйТест("ГК_ПолучитьСписокСобытий" , "Получить список событий");
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@ -533,6 +535,71 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Телеграм_ПолучитьСписокАватаровФорума() Экспорт
|
||||||
|
|
||||||
|
Токен = ПолучитьПараметр("Телеграм_Токен");
|
||||||
|
Результат = OPI_Telegram.ПолучитьСписокИконокАватаров(Токен);
|
||||||
|
|
||||||
|
ЮТест.ОжидаетЧто(Результат)
|
||||||
|
.ИмеетТип("Соответствие")
|
||||||
|
.Заполнено();
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Телеграм_СоздатьУдалитьТемуФорума() Экспорт
|
||||||
|
|
||||||
|
Result = "result";
|
||||||
|
Токен = ПолучитьПараметр("Телеграм_Токен");
|
||||||
|
Чат = ПолучитьПараметр("Телеграм_Форум");
|
||||||
|
Имя = "Тестовая тема";
|
||||||
|
НовоеИмя = "Новый тестовый заголовок";
|
||||||
|
Иконка = "5357419403325481346";
|
||||||
|
|
||||||
|
Результат = OPI_Telegram.СоздатьТемуФорума(Токен, Чат, Имя, Иконка);
|
||||||
|
Тема = Результат[Result]["message_thread_id"];
|
||||||
|
|
||||||
|
ЮТест.ОжидаетЧто(Результат)
|
||||||
|
.ИмеетТип("Соответствие")
|
||||||
|
.Заполнено()
|
||||||
|
.Свойство("ok").Равно(Истина)
|
||||||
|
.Свойство("result.name").Равно(Имя)
|
||||||
|
.Свойство("result.icon_custom_emoji_id").Равно(Иконка);
|
||||||
|
|
||||||
|
Результат = OPI_Telegram.ИзменитьТемуФорума(Токен, Чат, Тема, НовоеИмя);
|
||||||
|
|
||||||
|
ЮТест.ОжидаетЧто(Результат)
|
||||||
|
.ИмеетТип("Соответствие")
|
||||||
|
.Заполнено()
|
||||||
|
.Свойство("ok").Равно(Истина)
|
||||||
|
.Свойство("result").Равно(Истина);
|
||||||
|
|
||||||
|
Результат = OPI_Telegram.ЗакрытьТемуФорума(Токен, Чат, Тема);
|
||||||
|
|
||||||
|
ЮТест.ОжидаетЧто(Результат)
|
||||||
|
.ИмеетТип("Соответствие")
|
||||||
|
.Заполнено()
|
||||||
|
.Свойство("ok").Равно(Истина)
|
||||||
|
.Свойство("result").Равно(Истина);
|
||||||
|
|
||||||
|
Результат = OPI_Telegram.ОткрытьТемуФорума(Токен, Чат, Тема);
|
||||||
|
|
||||||
|
ЮТест.ОжидаетЧто(Результат)
|
||||||
|
.ИмеетТип("Соответствие")
|
||||||
|
.Заполнено()
|
||||||
|
.Свойство("ok").Равно(Истина)
|
||||||
|
.Свойство("result").Равно(Истина);
|
||||||
|
|
||||||
|
Результат = OPI_Telegram.УдалитьТемуФорума(Токен, Чат, Тема);
|
||||||
|
|
||||||
|
ЮТест.ОжидаетЧто(Результат)
|
||||||
|
.ИмеетТип("Соответствие")
|
||||||
|
.Заполнено()
|
||||||
|
.Свойство("ok").Равно(Истина)
|
||||||
|
.Свойство("result").Равно(Истина);
|
||||||
|
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область ВК
|
#Область ВК
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
<usePurposes>PersonalComputer</usePurposes>
|
<usePurposes>PersonalComputer</usePurposes>
|
||||||
<scriptVariant>Russian</scriptVariant>
|
<scriptVariant>Russian</scriptVariant>
|
||||||
<vendor>Bayselonarrend</vendor>
|
<vendor>Bayselonarrend</vendor>
|
||||||
<version>1.3.0</version>
|
<version>1.3.1</version>
|
||||||
<detailedInformation>
|
<detailedInformation>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Открытый пакет интеграций - набор библиотек для интеграции с некоторыми популярными API для 1C:Enterprise. Он состоит из общих модулей, каждый из которых отвечает за свой API, а также нескольких модулей-инструментов, общих для всех.</value>
|
<value>Открытый пакет интеграций - набор библиотек для интеграции с некоторыми популярными API для 1C:Enterprise. Он состоит из общих модулей, каждый из которых отвечает за свой API, а также нескольких модулей-инструментов, общих для всех.</value>
|
||||||
|
Reference in New Issue
Block a user