Клавиатура выбора даты
Расширяет функциональность решения: выбор даты через контекстную клавиатуру. Доработка планировалась в обновлении; файл можно подключить отдельно.
Внешний вид
Установка и использование
- Скачайте ТелеграмКлавиатураВыбораДаты.bsl
- Создайте в конфигураторе общий модуль
ТелеграмКлавиатураВыбораДаты - На закладке «Свойства» включите флаг «Сервер»
- На закладке «Дополнительно» укажите подсистему «Телеграм»
- Вставьте текст файла в модуль
Создайте элемент справочника «Клавиатуры»:
Если Вход.ОтветКК = Неопределено Тогда
Клавиатура = ТелеграмКлавиатураВыбораДаты.Создать(Бот, Вход);
Иначе
Клавиатура = ТелеграмКлавиатураВыбораДаты.ОбработатьНажатие(Бот, Вход);
КонецЕсли;
Пример обработки с клавиатурой выбора даты:
ПараметрыМетода = Новый Структура;
ПараметрыМетода.Вставить("Сообщение", "Выбор даты");
ПараметрыМетода.Вставить("Клавиатура", "Выбор даты");
ОтправитьСообщение(Бот, ПараметрыМетода, Вход);
Нужны два сервиса и две обработки: один ловит нажатия кнопок контекстной клавиатуры, второй — окончательный выбор даты.
- Условие «Нажатие клавиш…»: ответ КК начинается с
DPKPAB - Условие «Выбрана дата…»: ответ КК начинается с
DPKMAC
Код обработки «Нажатие кнопки клавиатуры»:
ПараметрыМетода = Новый Структура;
ОтветНаНажатиеКнопкиКК(Бот, ПараметрыМетода, Вход);
ПараметрыМетода = Новый Структура;
ПараметрыМетода.Вставить("Клавиатура", "Выбор даты");
ВыполнитьМетод(Бот, "editMessageReplyMarkup", ПараметрыМетода, Вход);
Код обработки «Выбор даты»:
ПараметрыМетода = Новый Структура;
ОтветНаНажатиеКнопкиКК(Бот, ПараметрыМетода, Вход);
ДОтпр = Вход.ОтветКК;
ИдКл = Сред(ДОтпр, 13, 36);
Дата = Дата(Сред(ДОтпр, 49, 14));
Сообщение = СтрШаблон(
"Выбрана дата. Текущие значения выбора:
|Идентификатор клавиатуры = %1
|Выбранная дата = %2", ИдКл, Дата);
ПараметрыМетода = Новый Структура;
ПараметрыМетода.Вставить("Сообщение", Сообщение);
ОтправитьСообщение(Бот, ПараметрыМетода, Вход);