2024-03-22 10:40:03 +03:00
Перем СоответствиеТаблицПараметров;
Перем СоответствиеКомандМодулей;
Процедура ПриСозданииОбъекта()
2024-03-22 13:21:15 +03:00
СоответствиеТаблицПараметров = Новый Соответствие();
СоответствиеКомандМодулей = Новый Соответствие();
СоответствиеКомандМодулей.Вставить("telegram", "OPI_Telegram");
2024-03-22 10:40:03 +03:00
КонецПроцедуры
#Область СлужебныйПрограммныйИнтерфейс
Функция ПолучитьИмяМодуля(Знач ИмяКоманды = "") Экспорт
2024-03-22 13:21:15 +03:00
Если ЗначениеЗаполнено(ИмяКоманды) Тогда
Результат = СоответствиеКомандМодулей.Получить(ИмяКоманды);
Иначе
Результат = СоответствиеКомандМодулей;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Результат) Тогда
ВызватьИсключение "Неизвестная команда: " + ИмяКоманды;
Иначе
Возврат Результат;
КонецЕсли;
2024-03-22 10:40:03 +03:00
КонецФункции
Функция ПолучитьТаблицуПараметров(Знач ИмяКоманды) Экспорт
2024-03-22 13:21:15 +03:00
ТПМ = СоответствиеТаблицПараметров.Получить(ИмяКоманды);
Если ТПМ = Неопределено Тогда
ТПМ = Новый ТаблицаЗначений();
ТПМ.Колонки.Добавить("Метод");
ТПМ.Колонки.Добавить("МетодПоиска");
ТПМ.Колонки.Добавить("Параметр");
ТПМ.Колонки.Добавить("Описание");
ТПМ.Колонки.Добавить("ВариантОбработки");
Попытка
Выполнить("ЗаполнитьТаблицуПараметров" + ИмяКоманды + "(ТПМ);");
Исключение
ВызватьИсключение "Неизвестная команда: " + ИмяКоманды;
КонецПопытки;
СоответствиеТаблицПараметров.Вставить(ИмяКоманды, ТПМ);
КонецЕсли;
Возврат ТПМ;
2024-03-22 10:40:03 +03:00
КонецФункции
Процедура ЗаполнитьТаблицуПараметровTelegram(ТПМ) Экспорт
2024-03-22 13:21:15 +03:00
2024-03-22 20:17:25 +03:00
ДобавитьПараметрМетода(ТПМ, "ПолучитьИнформациюБота" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "ПолучитьОбновления" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "УстановитьWebhook" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "УстановитьWebhook" , "--url", "Адрес обработки запросов (с https://)");
ДобавитьПараметрМетода(ТПМ, "УдалитьWebHook" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "ОтправитьТекстовоеСообщение" , "--token", "Токен бота");
2024-03-22 20:20:53 +03:00
ДобавитьПараметрМетода(ТПМ, "ОтправитьТекстовоеСообщение" , "--chat", "ID чата / ID чата*ID темы");
2024-03-22 20:17:25 +03:00
ДобавитьПараметрМетода(ТПМ, "ОтправитьТекстовоеСообщение" , "--text", "Текст сообщения");
ДобавитьПараметрМетода(ТПМ, "ОтправитьТекстовоеСообщение" , "--keyboard", "JSON клавиатуры / файл .json клавиатуры (необяз.)", "ОбработатьПараметрТекст");
ДобавитьПараметрМетода(ТПМ, "ОтправитьКартинку" , "--token", "Токен бота");
2024-03-22 20:20:53 +03:00
ДобавитьПараметрМетода(ТПМ, "ОтправитьКартинку" , "--chat", "ID чата / ID чата*ID темы");
2024-03-22 20:17:25 +03:00
ДобавитьПараметрМетода(ТПМ, "ОтправитьКартинку" , "--text", "Текст сообщения");
ДобавитьПараметрМетода(ТПМ, "ОтправитьКартинку" , "--path", "Путь к файлу");
ДобавитьПараметрМетода(ТПМ, "ОтправитьКартинку" , "--keyboard", "JSON клавиатуры / файл .json клавиатуры (необяз.)", "ОбработатьПараметрТекст");
ДобавитьПараметрМетода(ТПМ, "ОтправитьВидео" , "--token", "Токен бота");
2024-03-22 20:20:53 +03:00
ДобавитьПараметрМетода(ТПМ, "ОтправитьВидео" , "--chat", "ID чата / ID чата*ID темы");
2024-03-22 20:17:25 +03:00
ДобавитьПараметрМетода(ТПМ, "ОтправитьВидео" , "--text", "Текст сообщения");
ДобавитьПараметрМетода(ТПМ, "ОтправитьВидео" , "--path", "Путь к файлу");
ДобавитьПараметрМетода(ТПМ, "ОтправитьВидео" , "--keyboard", "JSON клавиатуры / файл .json клавиатуры (необяз.)", "ОбработатьПараметрТекст");
ДобавитьПараметрМетода(ТПМ, "ОтправитьГифку" , "--token", "Токен бота");
2024-03-22 20:20:53 +03:00
ДобавитьПараметрМетода(ТПМ, "ОтправитьГифку" , "--chat", "ID чата / ID чата*ID темы");
2024-03-22 20:17:25 +03:00
ДобавитьПараметрМетода(ТПМ, "ОтправитьГифку" , "--text", "Текст сообщения");
ДобавитьПараметрМетода(ТПМ, "ОтправитьГифку" , "--path", "Путь к файлу");
ДобавитьПараметрМетода(ТПМ, "ОтправитьГифку" , "--keyboard", "JSON клавиатуры / файл .json клавиатуры (необяз.)", "ОбработатьПараметрТекст");
ДобавитьПараметрМетода(ТПМ, "ОтправитьАудио" , "--token", "Токен бота");
2024-03-22 20:20:53 +03:00
ДобавитьПараметрМетода(ТПМ, "ОтправитьАудио" , "--chat", "ID чата / ID чата*ID темы");
2024-03-22 20:17:25 +03:00
ДобавитьПараметрМетода(ТПМ, "ОтправитьАудио" , "--text", "Текст сообщения");
ДобавитьПараметрМетода(ТПМ, "ОтправитьАудио" , "--path", "Путь к файлу");
ДобавитьПараметрМетода(ТПМ, "ОтправитьАудио" , "--keyboard", "JSON клавиатуры / файл .json клавиатуры (необяз.)", "ОбработатьПараметрТекст");
ДобавитьПараметрМетода(ТПМ, "ОтправитьДокумент" , "--token", "Токен бота");
2024-03-22 20:20:53 +03:00
ДобавитьПараметрМетода(ТПМ, "ОтправитьДокумент" , "--chat", "ID чата / ID чата*ID темы");
2024-03-22 20:17:25 +03:00
ДобавитьПараметрМетода(ТПМ, "ОтправитьДокумент" , "--text", "Текст сообщения");
ДобавитьПараметрМетода(ТПМ, "ОтправитьДокумент" , "--path", "Путь к файлу");
ДобавитьПараметрМетода(ТПМ, "ОтправитьДокумент" , "--keyboard", "JSON клавиатуры / файл .json клавиатуры (необяз.)", "ОбработатьПараметрТекст");
2024-03-22 13:21:15 +03:00
ОписаниеПараметра = "Путь к JSON-файлу описания медиагруппы:
2024-03-22 16:01:56 +03:00
|
|{
2024-03-22 16:06:14 +03:00
| ""Путь к файлу"": ""Тип медиа"",
| ...
2024-03-22 16:01:56 +03:00
|}
2024-03-22 13:21:15 +03:00
|
2024-03-22 16:01:56 +03:00
|Возможные типы медиа: audio, document, photo, video
2024-03-22 13:21:15 +03:00
|";
2024-03-22 20:17:25 +03:00
ДобавитьПараметрМетода(ТПМ, "ОтправитьМедиагруппу" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "ОтправитьМедиагруппу" , "--chat", "ID чата / ID чата*ID темы");
ДобавитьПараметрМетода(ТПМ, "ОтправитьМедиагруппу" , "--text", "Текст сообщения");
ДобавитьПараметрМетода(ТПМ, "ОтправитьМедиагруппу" , "--path", ОписаниеПараметра, "СоответствиеJSON");
ДобавитьПараметрМетода(ТПМ, "ОтправитьМедиагруппу" , "--keyboard", "JSON клавиатуры / файл .json клавиатуры (необяз.)", "ОбработатьПараметрТекст");
ДобавитьПараметрМетода(ТПМ, "ОтправитьМестоположение" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "ОтправитьМестоположение" , "--chat", "ID чата / ID чата*ID темы");
ДобавитьПараметрМетода(ТПМ, "ОтправитьМестоположение" , "--lat", "Географическая широта");
ДобавитьПараметрМетода(ТПМ, "ОтправитьМестоположение" , "--long", "Географическая долгота");
ДобавитьПараметрМетода(ТПМ, "ОтправитьМестоположение" , "--keyboard", "JSON клавиатуры / файл .json клавиатуры (необяз.)", "ОбработатьПараметрТекст");
ДобавитьПараметрМетода(ТПМ, "ОтправитьКонтакт" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "ОтправитьКонтакт" , "--chat", "ID чата / ID чата*ID темы");
ДобавитьПараметрМетода(ТПМ, "ОтправитьКонтакт" , "--name", "Имя контакта");
ДобавитьПараметрМетода(ТПМ, "ОтправитьКонтакт" , "--surname", "Фамилия контакта");
ДобавитьПараметрМетода(ТПМ, "ОтправитьКонтакт" , "--phone", "Номер телефона");
ДобавитьПараметрМетода(ТПМ, "ОтправитьКонтакт" , "--keyboard", "JSON клавиатуры / файл .json клавиатуры (необяз.)", "ОбработатьПараметрТекст");
ДобавитьПараметрМетода(ТПМ, "ОтправитьОпрос" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "ОтправитьОпрос" , "--chat", "ID чата / ID чата*ID темы");
ДобавитьПараметрМетода(ТПМ, "ОтправитьОпрос" , "--question", "Вопрос");
ДобавитьПараметрМетода(ТПМ, "ОтправитьОпрос" , "--options", "Варианты ответов ""['Вар1', 'Вар2', '...]""", "ОбработатьМассив");
ДобавитьПараметрМетода(ТПМ, "ОтправитьОпрос" , "--anonymous", "Анонимный true/false. По умолчанию - true");
ДобавитьПараметрМетода(ТПМ, "ПереслатьСообщение" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "ПереслатьСообщение" , "--message", "ID пересылаемого сообщения");
ДобавитьПараметрМетода(ТПМ, "ПереслатьСообщение" , "--from", "Чат источник");
ДобавитьПараметрМетода(ТПМ, "ПереслатьСообщение" , "--to", "Чат приемник");
ДобавитьПараметрМетода(ТПМ, "Бан" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "Бан" , "--chat" , "ID чата");
ДобавитьПараметрМетода(ТПМ, "Бан" , "--user" , "ID пользователя");
ДобавитьПараметрМетода(ТПМ, "Разбан" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "Разбан" , "--chat" , "ID чата");
ДобавитьПараметрМетода(ТПМ, "Разбан" , "--user" , "ID пользователя");
ДобавитьПараметрМетода(ТПМ, "СоздатьСсылкуПриглашение" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "СоздатьСсылкуПриглашение" , "--chat" , "ID чата");
ДобавитьПараметрМетода(ТПМ, "СоздатьСсылкуПриглашение" , "--name" , "Наименование ссылки");
ДобавитьПараметрМетода(ТПМ, "СоздатьСсылкуПриглашение" , "--expire" , "Дата истечения. Безсрочно по умолчанию");
ДобавитьПараметрМетода(ТПМ, "СоздатьСсылкуПриглашение" , "--limit" , "Лимит пользователей. Не ограничен по умолчанию");
ДобавитьПараметрМетода(ТПМ, "ЗакрепитьСообщение" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "ЗакрепитьСообщение" , "--chat" , "ID чата");
ДобавитьПараметрМетода(ТПМ, "ЗакрепитьСообщение" , "--message" , "ID сообщения");
ДобавитьПараметрМетода(ТПМ, "ОткрепитьСообщение" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "ОткрепитьСообщение" , "--chat" , "ID чата");
ДобавитьПараметрМетода(ТПМ, "ОткрепитьСообщение" , "--message" , "ID сообщения");
ДобавитьПараметрМетода(ТПМ, "ПолучитьЧислоУчастников" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "ПолучитьЧислоУчастников" , "--chat" , "ID чата");
ДобавитьПараметрМетода(ТПМ, "ПолучитьСписокИконокАватаров" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "СоздатьТемуФорума" , "--token" , "Токен бота");
ДобавитьПараметрМетода(ТПМ, "СоздатьТемуФорума" , "--chat" , "ID чата");
ДобавитьПараметрМетода(ТПМ, "СоздатьТемуФорума" , "--name" , "Заголовок");
ДобавитьПараметрМетода(ТПМ, "СоздатьТемуФорума" , "--icon" , "ID иконки аватара (необяз.)");
ДобавитьПараметрМетода(ТПМ, "ИзменитьТемуФорума" , "--token" , "Токен бота");
ДобавитьПараметрМетода(ТПМ, "ИзменитьТемуФорума" , "--chat" , "ID чата");
ДобавитьПараметрМетода(ТПМ, "ИзменитьТемуФорума" , "--topic" , "ID темы");
ДобавитьПараметрМетода(ТПМ, "ИзменитьТемуФорума" , "--name" , "Новый заголовок (необяз.)");
ДобавитьПараметрМетода(ТПМ, "ИзменитьТемуФорума" , "--icon" , "ID иконки аватара (необяз.)");
ДобавитьПараметрМетода(ТПМ, "ЗакрытьТемуФорума" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "ЗакрытьТемуФорума" , "--chat" , "ID чата");
ДобавитьПараметрМетода(ТПМ, "ЗакрытьТемуФорума" , "--topic", "ID темы. Главная тема по умолчанию");
ДобавитьПараметрМетода(ТПМ, "ОткрытьТемуФорума" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "ОткрытьТемуФорума" , "--chat" , "ID чата");
ДобавитьПараметрМетода(ТПМ, "ОткрытьТемуФорума" , "--topic", "ID темы. Главная тема по умолчанию");
ДобавитьПараметрМетода(ТПМ, "УдалитьТемуФорума" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "УдалитьТемуФорума" , "--chat" , "ID чата");
ДобавитьПараметрМетода(ТПМ, "УдалитьТемуФорума" , "--topic", "ID темы");
ДобавитьПараметрМетода(ТПМ, "СкрытьГлавнуюТемуФорума" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "СкрытьГлавнуюТемуФорума" , "--chat" , "ID чата");
ДобавитьПараметрМетода(ТПМ, "ПоказатьГлавнуюТемуФорума" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "ПоказатьГлавнуюТемуФорума" , "--chat" , "ID чата");
ДобавитьПараметрМетода(ТПМ, "ИзменитьИмяГлавнойТемыФорума" , "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "ИзменитьИмяГлавнойТемыФорума" , "--chat" , "ID чата");
ДобавитьПараметрМетода(ТПМ, "ИзменитьИмяГлавнойТемыФорума" , "--name", "Новое имя главной темы");
ДобавитьПараметрМетода(ТПМ, "ОчиститьСписокЗакрепленныхСообщенийТемы", "--token", "Токен бота");
ДобавитьПараметрМетода(ТПМ, "ОчиститьСписокЗакрепленныхСообщенийТемы", "--chat" , "ID чата");
ДобавитьПараметрМетода(ТПМ, "ОчиститьСписокЗакрепленныхСообщенийТемы", "--topic", "ID темы. Главная тема по умолчанию");
ДобавитьПараметрМетода(ТПМ, "СформироватьКлавиатуруПоМассивуКнопок" , "--buttons", "Массив имен кнопок ""['Кн1', 'Кн2', '...]""", "ОбработатьМассив");
ДобавитьПараметрМетода(ТПМ, "СформироватьКлавиатуруПоМассивуКнопок" , "--under", "true - под сообщением, false - на нижней панели. По умолчанию - false");
ДобавитьПараметрМетода(ТПМ, "СформироватьКлавиатуруПоМассивуКнопок" , "--column", "true - кнопки одна под одной, false - в ряд. По умолчанию - true");
2024-03-22 13:21:15 +03:00
2024-03-22 10:40:03 +03:00
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Процедура ДобавитьПараметрМетода(Таблица
2024-03-22 13:21:15 +03:00
, Знач Метод
, Знач Параметр
, Знач Описание
, Знач ВариантОбработки = "Строка")
НовыйПараметр = Таблица.Добавить();
НовыйПараметр.МетодПоиска = вРег(Метод);
НовыйПараметр.Метод = Метод;
НовыйПараметр.Параметр = Параметр;
НовыйПараметр.Описание = Описание;
НовыйПараметр.ВариантОбработки = ВариантОбработки;
2024-03-22 10:40:03 +03:00
КонецПроцедуры
#КонецОбласти
ПриСозданииОбъекта();