В поисках лучшего решения для завершения и сопоставления с образцом - PullRequest
0 голосов
/ 23 января 2019

Телеграмма InlineKeyboardButton может содержать строку callback_data, которая передается обработчику обратного вызова в случае нажатия кнопки пользователем.Чтобы идентифицировать событие, я передаю описание события как callback_data.Кроме того, я добавляю потенциальные метаданные, такие как идентификаторы, в callback_data.Примером может быть 'trade-145342323'.

  1. , кнопка создается с помощью callback_data
  2. , пользователь нажимает кнопку
  3. , callback_handler получает callback_data и решаетчто делать

в настоящее время строки callback_data жестко запрограммированы в обоих местах.

Теперь я ищу решение для определения всех этих строк callback_data как строки. Шаблон в одном местетак что я могу заполнить идентификаторы и тому подобное во время генерации кнопки.Более того, я хочу проверить в обработчике, какой тип события соответствует определенному callback_data, и извлечь возможные идентификаторы и т. Д. Возможно, было бы неплохо, чтобы шаблон был чувствительным к типу.

Я думал о чем-то вроде: (псевдо-код)

CALLBACK_DATA1='trade-$id:int'#???
...
InlineKeyboardButton(text='Trade', 
                     callback_data=CALLBACK_DATA1.substitute(id=123))
...
if data matches CALLBACK_DATA1:
    id = CALLBACK_DATA1.extract(data) #???

или что-то совсем другое:)

Заранее спасибо

...