From 1a3d6006f2501adc969b1cf406e1fd667cfb7ead Mon Sep 17 00:00:00 2001 From: Vitaly the Alpaca Date: Sat, 23 Mar 2024 20:00:54 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=B5=D0=BE=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20OPI=20->=20OInt=20?= =?UTF-8?q?(workflow)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OInt/core/Modules/OPI_Telegram.os | 373 ++++++++++++++++-------------- 1 file changed, 203 insertions(+), 170 deletions(-) diff --git a/OInt/core/Modules/OPI_Telegram.os b/OInt/core/Modules/OPI_Telegram.os index 8e1c756ea..9eaf2f397 100644 --- a/OInt/core/Modules/OPI_Telegram.os +++ b/OInt/core/Modules/OPI_Telegram.os @@ -33,13 +33,14 @@ #Область ДанныеИНастройка -// Получить информацию бота. +// Получить информацию о боте +// Выполняет запрос /getMe, возвращающий базовую информацию о боте: имя, id, возможность добавлять бота в группы и т.д. // // Параметры: -// Токен - Строка - Токен - token +// Токен - Строка - Токен бота - token // // Возвращаемое значение: -// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ПолучитьИнформациюБота(Знач Токен) Экспорт URL = "api.telegram.org/bot" + Токен + "/getMe"; @@ -49,13 +50,14 @@ КонецФункции -// Получить обновления. -// +// Получить обновления +// Выполняет запрос /getUpdates, возвращающий информацию о событиях бота. Используется при работе в polling режиме +// // Параметры: -// Токен - Строка - Токен - token +// Токен - Строка - Токен бота - token // // Возвращаемое значение: -// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ПолучитьОбновления(Знач Токен) Экспорт URL = "api.telegram.org/bot" + Токен + "/getUpdates"; @@ -64,14 +66,15 @@ КонецФункции -// Установить Webhook. -// +// Установить Webhook +// Устанавливает адрес обработчика событий бота для работы в режиме webhook. +// // Параметры: -// Токен - Строка - Токен - token -// URL - Строка - Адрес обработки запросов от Telegram (с https:) - url +// Токен - Строка - Токен бота - token +// URL - Строка - Адрес обработки запросов от Telegram (с https:) - url // // Возвращаемое значение: -// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция УстановитьWebhook(Знач Токен, Знач URL) Экспорт Параметры_ = Новый Структура; @@ -84,13 +87,14 @@ КонецФункции -// Удалить Webhook. +// Удалить Webhook +// Удаляет адрес обработчика событий бота для работы в режиме webhook. // // Параметры: -// Токен - Строка - Токен - token +// Токен - Строка - Токен бота - token // // Возвращаемое значение: -// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция УдалитьWebhook(Знач Токен) Экспорт URL = "api.telegram.org/bot" + Токен + "/deleteWebHook"; @@ -103,16 +107,17 @@ #Область ОтправкаДанных -// Отправить текстовое сообщение. +// Отправить текстовое сообщение +// Отправляет текстовое сообщение в чат или канал // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - ID целевого чата - chat -// Текст - Строка - Текст сообщения - text -// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard +// Токен - Строка - Токен бота - token +// IDЧата - Строка,Число - ID целевого чата или IDЧата*IDТемы - chat +// Текст - Строка - Текст сообщения - text +// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard - Текст // // Возвращаемое значение: -// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ОтправитьТекстовоеСообщение(Знач Токен, Знач IDЧата, Знач Текст, Знач Клавиатура = "") Экспорт OPI_Инструменты.ЗаменитьСпецСимволы(Текст); @@ -131,104 +136,110 @@ КонецФункции -// Отправить картинку. +// Отправить картинку +// Отправляет картинку в чат или канал // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - IDЧата - chat -// Текст - Строка - Текст - text -// Картинка - ДвоичныеДанные,Строка - Двоичные данные или путь к картинке - path -// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard +// Токен - Строка - Токен бота - token +// IDЧата - Строка,Число - ID целевого чата или IDЧата*IDТемы - chat +// Текст - Строка - Текст сообщения - text +// Картинка - ДвоичныеДанные,Строка - Файл картинки - path +// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard - Текст // // Возвращаемое значение: -// Строка, Произвольный, HTTPОтвет - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ОтправитьКартинку(Знач Токен, Знач IDЧата, Знач Текст, Знач Картинка, Знач Клавиатура = "") Экспорт Возврат ОтправитьФайл(Токен, IDЧата, Текст, Картинка, "photo", Клавиатура); КонецФункции -// Отправить видео. +// Отправить видео +// Отправляет видео в чат или канал // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - ID целевого чата - chat -// Текст - Строка - Текст - text -// Видео - ДвоичныеДанные,Строка - Двоичные данные или путь к видео - path -// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard +// Токен - Строка - Токен бота - token +// IDЧата - Строка,Число - ID целевого чата или IDЧата*IDТемы - chat +// Текст - Строка - Текст сообщения - text +// Видео - ДвоичныеДанные,Строка - Файл видео - path +// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard - Текст // // Возвращаемое значение: -// Строка, Произвольный, HTTPОтвет - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ОтправитьВидео(Знач Токен, Знач IDЧата, Знач Текст, Знач Видео, Знач Клавиатура = "") Экспорт Возврат ОтправитьФайл(Токен, IDЧата, Текст, Видео, "video", Клавиатура); КонецФункции -// Отправить аудио. +// Отправить аудио +// Отправляет аудиофайл в чат или канал // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - ID целевого чата - chat -// Текст - Строка - Текст - text -// Аудио - ДвоичныеДанные,Строка - Двоичные данные или путь к аудио - path -// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard +// Токен - Строка - Токен бота - token +// IDЧата - Строка,Число - ID целевого чата или IDЧата*IDТемы - chat +// Текст - Строка - Текст сообщения - text +// Аудио - ДвоичныеДанные,Строка - Файл аудио - path +// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard - Текст // // Возвращаемое значение: -// Строка, Произвольный, HTTPОтвет - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ОтправитьАудио(Знач Токен, Знач IDЧата, Знач Текст, Знач Аудио, Знач Клавиатура = "") Экспорт Возврат ОтправитьФайл(Токен, IDЧата, Текст, Аудио, "audio", Клавиатура); КонецФункции -// Отправить документ. +// Отправить документ +// Отправляет документ в чат или канал // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - ID целевого чата - chat -// Текст - Строка - Текст - text -// Документ - ДвоичныеДанные,Строка - Двоичные данные или путь к документу - path -// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard +// Токен - Строка - Токен бота - token +// IDЧата - Строка,Число - ID целевого чата или IDЧата*IDТемы - chat +// Текст - Строка - Текст сообщения - text +// Документ - ДвоичныеДанные,Строка - Файл документа - path +// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard - Текст // // Возвращаемое значение: -// Строка, Произвольный, HTTPОтвет - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ОтправитьДокумент(Знач Токен, Знач IDЧата, Знач Текст, Знач Документ, Знач Клавиатура = "") Экспорт Возврат ОтправитьФайл(Токен, IDЧата, Текст, Документ, "document", Клавиатура); КонецФункции -// Отправить гифку. +// Отправить гифку +// Отправляет гифку в чат или канал // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - ID целевого чата - chat -// Текст - Строка - Текст - text -// Гифка - ДвоичныеДанные,Строка - Двоичные данные или путь к гифке - path -// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard +// Токен - Строка - Токен бота - token +// IDЧата - Строка,Число - ID целевого чата или IDЧата*IDТемы - chat +// Текст - Строка - Текст сообщения - text +// Гифка - ДвоичныеДанные,Строка - Файл гифки - path +// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard - Текст // // Возвращаемое значение: -// Строка, Произвольный, HTTPОтвет - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ОтправитьГифку(Знач Токен, Знач IDЧата, Знач Текст, Знач Гифка, Знач Клавиатура = "") Экспорт Возврат ОтправитьФайл(Токен, IDЧата, Текст, Гифка, "animation", Клавиатура); КонецФункции -// Отправить набор любых файлов. +// Отправить группу медиафайлов +// Отправляет набор файлов в чат или канал. Варианты типов медиа: audio, document, photo, video // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - ID целевого чата - chat -// Текст - Строка - Текст - text -// СоответствиеФайлов - Соответствие из Строка,ДвоичныеДанные - Коллекция файлов - path: -// * Ключ - ДвоичныеДанные,Строка - Файл -// * Значение - Строка - Тип файла: audio, document, photo, video -// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard +// Токен - Строка - Токен бота - token +// IDЧата - Строка,Число - ID целевого чата или IDЧата*IDТемы - chat +// Текст - Строка - Текст сообщения - text +// СоответствиеФайлов - Соответствие из Строка - Коллекция файлов - path - JSON - JSON вида { "Путь": "Тип", ...}: +// * Ключ - ДвоичныеДанные,Строка - Файл +// * Значение - Строка - Тип файла: audio, document, photo, video +// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard - Текст // // Возвращаемое значение: -// Произвольный, HTTPОтвет - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ОтправитьМедиагруппу(Знач Токен, Знач IDЧата, Знач Текст, Знач СоответствиеФайлов, Знач Клавиатура = "") Экспорт // СоответствиеФайлов @@ -259,17 +270,18 @@ КонецФункции -// Отправить местоположение. +// Отправить местоположение +// Отправляет местоположение по географической широте и долготе в чат или канал // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - ID целевого чата - chat -// Широта - Строка,Число - Географическая широта - lat -// Долгота - Строка,Число - Географическая долгота - long -// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard +// Токен - Строка - Токен бота - token +// IDЧата - Строка,Число - ID целевого чата или IDЧата*IDТемы - chat +// Широта - Строка,Число - Географическая широта - lat +// Долгота - Строка,Число - Географическая долгота - long +// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard - Текст // // Возвращаемое значение: -// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ОтправитьМестоположение(Знач Токен, Знач IDЧата, Знач Широта, Знач Долгота, Знач Клавиатура = "") Экспорт IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата); @@ -289,18 +301,19 @@ КонецФункции -// Отправить контакт. +// Отправить контакт +// Отправляет контакт с именем и номером телефона // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - ID целевого чата - chat -// Имя - Строка - Имя контакта - name -// Фамилия - Строка - Фамилия контакта - surname -// Телефон - Строка - Телефон контакта - phone -// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard +// Токен - Строка - Токен бота - token +// IDЧата - Строка,Число - ID целевого чата или IDЧата*IDТемы - chat +// Имя - Строка - Имя контакта - name +// Фамилия - Строка - Фамилия контакта - surname +// Телефон - Строка - Телефон контакта - phone +// Клавиатура - Строка - См. СформироватьКлавиатуруПоМассивуКнопок - keyboard - Текст // // Возвращаемое значение: -// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ОтправитьКонтакт(Знач Токен, Знач IDЧата, Знач Имя, Знач Фамилия, Знач Телефон, Знач Клавиатура = "") Экспорт IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата); @@ -321,17 +334,18 @@ КонецФункции -// Отправить опрос. +// Отправить опрос +// Отправляет опрос с вариантами ответа // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - ID целевого чата - chat -// Вопрос - Строка - Вопрос опроса - question -// МассивОтветов - Массив из строка - Массив вариантов ответа - options -// Анонимный - Булево - Анонимность опроса - anonymous +// Токен - Строка - Токен бота - token +// IDЧата - Строка,Число - ID целевого чата или IDЧата*IDТемы - chat +// Вопрос - Строка - Вопрос опроса - question +// МассивОтветов - Массив из Строка - Массив вариантов ответа - options - Массив - Массив вида ["Вар1","Вар2",..] +// Анонимный - Булево - Анонимность опроса - anonymous // // Возвращаемое значение: -// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ОтправитьОпрос(Знач Токен, Знач IDЧата, Знач Вопрос, Знач МассивОтветов, Знач Анонимный = Истина) Экспорт IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата); @@ -355,16 +369,17 @@ КонецФункции -// Переслать сообщение. +// Переслать сообщение +// Пересылает сообщение между чатами или в рамках одного чата // // Параметры: -// Токен - Строка - Токен - token -// IDОригинала - Строка,Число - ID оригинального сообщения - message -// ОткудаID - Строка,Число - ID чата оригинального сообщения - from -// КудаID - Строка,Число - ID целевого чата - to +// Токен - Строка - Токен бота - token +// IDОригинала - Строка,Число - ID оригинального сообщения - message +// ОткудаID - Строка,Число - ID чата оригинального сообщения - from +// КудаID - Строка,Число - ID целевого чата или IDЧата*IDТемы - to // // Возвращаемое значение: -// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ПереслатьСообщение(Знач Токен, Знач IDОригинала, Знач ОткудаID, Знач КудаID) Экспорт URL = "api.telegram.org/bot" + Токен + "/forwardMessage"; @@ -388,15 +403,16 @@ #Область Администрирование -// Бан. +// Бан +// Банит пользователя в выбранном чате // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - ID целевого чата - chat -// IDПользователя - Строка,Число - ID целевого пользователя - user +// Токен - Строка - Токен бота - token +// IDЧата - Строка,Число - ID целевого чата или IDЧата*IDТемы - chat +// IDПользователя - Строка,Число - ID целевого пользователя - user // // Возвращаемое значение: -// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция Бан(Знач Токен, Знач IDЧата, Знач IDПользователя) Экспорт URL = "api.telegram.org/bot" + Токен + "/banChatMember"; @@ -414,15 +430,16 @@ КонецФункции -// Разбан. +// Разбан +// Разбанивает забаненного ранее пользователя // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - ID целевого чата - chat -// IDПользователя - Строка,Число - ID целевого пользователя - user +// Токен - Строка - Токен бота - token +// IDЧата - Строка,Число - ID целевого чата или IDЧата*IDТемы - chat +// IDПользователя - Строка,Число - ID целевого пользователя - user // // Возвращаемое значение: -// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция Разбан(Знач Токен, Знач IDЧата, Знач IDПользователя) Экспорт URL = "api.telegram.org/bot" + Токен + "/unbanChatMember"; @@ -441,17 +458,18 @@ КонецФункции -// Создать ссылку приглашение. +// Создать ссылку-приглашение +// Создает ссылку для вступления в закрытый чат // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - ID целевого чата - chat -// Заголовок - Строка - Заголовок приглашения - name -// ДатаИстечения - Дата - Дата окончания жизни ссылки (безсрочно, если не указано) - expire -// ЛимитПользователей - Число - Лимит пользователей (бесконечно, если не указано) - limit +// Токен - Строка - Токен бота - token +// IDЧата - Строка,Число - ID целевого чата или IDЧата*IDТемы - chat +// Заголовок - Строка - Заголовок приглашения - name +// ДатаИстечения - Дата - Дата окончания жизни ссылки (безсрочно, если не указано) - expire +// ЛимитПользователей - Число - Лимит пользователей (бесконечно, если не указано) - limit // // Возвращаемое значение: -// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция СоздатьСсылкуПриглашение(Знач Токен , Знач IDЧата , Знач Заголовок = "" @@ -479,15 +497,16 @@ КонецФункции -// Закрепить сообщение. +// Закрепить сообщение +// Закрепляет сообщение в шапке чата // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - ID целевого чата - chat +// Токен - Строка - Токен - token +// IDЧата - Строка,Число - ID целевого чата - chat // IDСообщения - Строка,Число - ID целевого сообщения - message // // Возвращаемое значение: -// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ЗакрепитьСообщение(Знач Токен, Знач IDЧата, Знач IDСообщения) Экспорт URL = "api.telegram.org/bot" + Токен + "/pinChatMessage"; @@ -506,15 +525,16 @@ КонецФункции -// Открепить сообщение. +// Открепить сообщение +// Открепляет сообщение в шапке чата // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка - ID целевого чата - chat +// Токен - Строка - Токен бота - token +// IDЧата - Строка,Число - ID целевого чата - chat // IDСообщения - Строка,Число - ID целевого сообщения - message // // Возвращаемое значение: -// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ОткрепитьСообщение(Знач Токен, Знач IDЧата, Знач IDСообщения) Экспорт URL = "api.telegram.org/bot" + Токен + "/unpinChatMessage"; @@ -532,14 +552,15 @@ КонецФункции -// Получить число участников. +// Получить число участников +// Получает общее число участников чата // // Параметры: -// Токен - Строка - Токен - token +// Токен - Строка - Токен бота - token // IDЧата - Строка,Число - ID целевого чата - chat // // Возвращаемое значение: -// ДвоичныеДанные, Неопределено, Произвольный - Получить число участников +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ПолучитьЧислоУчастников(Знач Токен, Знач IDЧата) Экспорт URL = "api.telegram.org/bot" + Токен + "/getChatMemberCount"; @@ -563,7 +584,7 @@ // // Параметры: // СтрокаДанных - Строка - querry из Telegram.WebApp.initData -// Токен - Строка - Токен - token бота +// Токен - Строка - Токен бота // // Возвращаемое значение: // Соответствие из Строка - Обработанные данные с признаком достоверности @@ -573,8 +594,9 @@ СтруктураДанных = OPI_Инструменты.ПараметрыЗапросаВСоответствие(СтрокаДанных); Ключ = "WebAppData"; Хэш = ""; + КлючДвоичные = ПолучитьДвоичныеДанныеИзСтроки(Ключ); - Результат = OPI_Криптография.HMACSHA256(ПолучитьДвоичныеДанныеИзСтроки(Ключ), ПолучитьДвоичныеДанныеИзСтроки(Токен)); + Результат = OPI_Криптография.HMACSHA256(КлючДвоичные, ПолучитьДвоичныеДанныеИзСтроки(Токен)); ТЗнач = Новый ТаблицаЗначений; ТЗнач.Колонки.Добавить("Ключ"); @@ -625,13 +647,14 @@ #Область РежимФорума -// Получить список иконок аватаров. +// Получить список иконок-аватаров +// Получает соответствие ID Emoji для установки в качестве иконок тем форума // // Параметры: // Токен - Строка - Токен - token // // Возвращаемое значение: -// Соответствие Из КлючИЗначение - Список иконок аватаров +// Соответствие Из КлючИЗначение - Ключ > ID, Значение > Emoji Функция ПолучитьСписокИконокАватаров(Знач Токен) Экспорт Result = "result"; @@ -648,31 +671,33 @@ КонецФункции -// Создать тему форума. +// Создать тему форума +// Создает новую тему в группе с включенным функционалом тем // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - ID чата создания темы - chat -// Заголовок - Строка - Заголовок темы - name -// IDИконки - Строка - См.ПолучитьСписокИконокАватаров - icon +// Токен - Строка - Токен - token +// IDЧата - Строка,Число - ID чата создания темы - chat +// Заголовок - Строка - Заголовок темы - name +// IDИконки - Строка - См. ПолучитьСписокИконокАватаров - icon // // Возвращаемое значение: -// HTTPОтвет - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция СоздатьТемуФорума(Знач Токен, Знач IDЧата, Знач Заголовок, Знач IDИконки = "") Экспорт Возврат УправлениеТемойФорума(Токен, IDЧата, Заголовок, IDИконки); КонецФункции -// Изменить тему форума. +// Изменить тему форума +// Создает новую тему в группе с включенным функционалом тем // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - ID чата темы - chat -// IDТемы - Строка,Число - ID темы - topic -// Заголовок - Строка - Новый заголовок - name -// IDИконки - Строка - См.ПолучитьСписокИконокАватаров - icon +// Токен - Строка - Токен - token +// IDЧата - Строка,Число - ID чата создания темы - chat +// IDТемы - Строка,Число - ID темы - topic +// Заголовок - Строка - Новый заголовок - name +// IDИконки - Строка - См. ПолучитьСписокИконокАватаров - icon // // Возвращаемое значение: -// HTTPОтвет - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ИзменитьТемуФорума(Знач Токен , Знач IDЧата , Знач IDТемы @@ -682,78 +707,84 @@ Возврат УправлениеТемойФорума(Токен, IDЧата, Заголовок, IDИконки, IDТемы); КонецФункции -// Закрыть тему форума. +// Закрыть тему форума +// Закрывает тему для новых сообщений // // Параметры: -// Токен - Строка - Токен - token +// Токен - Строка - Токен - token // IDЧата - Строка,Число - ID чата темы - chat -// IDТемы - Строка,Число - ID темы - topic +// IDТемы - Строка,Число - ID темы - topic // // Возвращаемое значение: -// Неопределено, HTTPОтвет - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ЗакрытьТемуФорума(Знач Токен, Знач IDЧата, Знач IDТемы = "") Экспорт Возврат УправлениеСостояниемТемыФорума(Токен, IDЧата, 2, IDТемы); КонецФункции -// Открыть тему форума. +// Открыть тему форума +// Повторно открывает ранее закрытую тему форума // // Параметры: -// Токен - Строка - Токен - token +// Токен - Строка - Токен - token // IDЧата - Строка,Число - ID чата темы - chat -// IDТемы - Строка,Число - ID темы - topic +// IDТемы - Строка,Число - ID темы - topic // // Возвращаемое значение: -// Неопределено, HTTPОтвет - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ОткрытьТемуФорума(Знач Токен, Знач IDЧата, Знач IDТемы = "") Экспорт Возврат УправлениеСостояниемТемыФорума(Токен, IDЧата, 1, IDТемы); КонецФункции -// Удалить тему форума. +// Удалить тему форума +// Удаляет тему форума // // Параметры: -// Токен - Строка - Токен - token +// Токен - Строка - Токен - token // IDЧата - Строка,Число - ID чата темы - chat -// IDТемы - Строка,Число - ID темы - topic +// IDТемы - Строка,Число - ID темы - topic // // Возвращаемое значение: -// Неопределено, HTTPОтвет - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция УдалитьТемуФорума(Знач Токен, Знач IDЧата, Знач IDТемы) Экспорт Возврат УправлениеСостояниемТемыФорума(Токен, IDЧата, 3, IDТемы); КонецФункции -// Скрыть главную тему форума. +// Скрыть главную тему форума +// Скрывает главную тему форума // // Параметры: -// Токен - Строка - Токен - token +// Токен - Строка - Токен - token // IDЧата - Строка,Число - ID чата темы - chat // // Возвращаемое значение: -// HTTPОтвет - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция СкрытьГлавнуюТемуФорума(Знач Токен, Знач IDЧата) Экспорт Возврат УправлениеВидимостьюГлавнойТемыФорума(Токен, IDЧата, Истина); КонецФункции -// Показать главную тему форума. +// Показать главную тему форума +// Показывает ранее скрытую главную тему форума // // Параметры: -// Токен - Строка - Токен - token +// Токен - Строка - Токен - token // IDЧата - Строка,Число - ID чата темы - chat // // Возвращаемое значение: -// HTTPОтвет - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ПоказатьГлавнуюТемуФорума(Знач Токен, Знач IDЧата) Экспорт Возврат УправлениеВидимостьюГлавнойТемыФорума(Токен, IDЧата, Ложь); КонецФункции -// Изменить имя главной темы форума. +// Изменить имя главной темы форума +// Изменяет имя главной темы форума // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - ID Чата темы - chat -// Заголовок - Строка - Новый заголовок - name +// Токен - Строка - Токен - token +// IDЧата - Строка,Число - ID чата темы - chat +// Заголовок - Строка - Новое имя главной темы - name // // Возвращаемое значение: -// HTTPОтвет - Ответ сервера Telegram +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ИзменитьИмяГлавнойТемыФорума(Знач Токен, Знач IDЧата, Знач Заголовок) Экспорт IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата); @@ -768,15 +799,16 @@ КонецФункции -// Очистить список закрепленных сообщений темы. +// Очистить список закрепленных сообщений темы +// Очищает список закрепленных сообщений в теме форума // // Параметры: -// Токен - Строка - Токен - token -// IDЧата - Строка,Число - ID чата темы - chat -// IDТемы - Строка - ID темы. Главная, если не заполнено - topic +// Токен - Строка - Токен - token +// IDЧата - Строка,Число - ID чата темы - chat +// IDТемы - Строка,Число - ID темы. Главная, если не заполнено - topic // // Возвращаемое значение: -// HTTPОтвет - Очистить список закрепленных сообщений темы +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Telegram Функция ОчиститьСписокЗакрепленныхСообщенийТемы(Знач Токен, Знач IDЧата, Знач IDТемы = "") Экспорт IDТемы = OPI_Инструменты.ЧислоВСтроку(IDТемы); @@ -802,12 +834,13 @@ #Область Прочее -// Сформировать клавиатуру по массиву кнопок. +// Сформировать клавиатуру по массиву кнопок +// Формирует простую JSON клавиатуру из массив кнопок для сообщения или нижней панели // // Параметры: -// МассивКнопок - Массив из Строка - Массив кнопок - buttons -// ПодСообщением - Булево - Клавиатура под сообщением или на нижней панели - under -// ОднаПодОдной - Булево - Истина > кнопки выводятся в столбик, Ложь > в строку - coloumn +// МассивКнопок - Массив из Строка - Массив кнопок - buttons - Массив - Массив вида ["Кнопка1","Кнопка2",..] +// ПодСообщением - Булево - Клавиатура под сообщением или на нижней панели - under +// ОднаПодОдной - Булево - Истина > кнопки выводятся в столбик, Ложь > в строку - coloumn // // Возвращаемое значение: // Строка - JSON клавиатуры