EN
InsanusMokrassar
InsanusMokrassar
2 subscribers
goals
0 of $ 122 money raised
Покупка нового SSD :)

Клавиатурки для ботов

Я сейчас думаю над тем, как бы сделать удобный способ создания клавиатур для ботов. Идея такая: клавиатуры для ботов выглядят просто, но кодить их большая мука, что и хотелось бы исправить. Проблемы, если их оформлять во что-то вроде списка, следующие:
* Реакции для кнопок, которые просто открывают подменю, получаются очень громоздкие
* Регистрация КАЖДОГО обработчика происходит отдельно и оторвано от того, где находится кнопка. То есть кнопка находится в куче мест - там, где мы редактируем сообщение для добавления кнопки, там, где реагируем и там, где хотим реакцию на кнопку как-то еще зарегистрировать (через команду, например)
* Регистрация оказывается крайне нелогичной. Любая вложенность в итоге раскладывается в какую-то плоскую структуру.
Для решения я начал пилить библиотеку https://github.com/InsanusMokrassar/tgbotapi.keyboards . На фото собственно то, как оно сейчас может использоваться, и там есть одна большая проблема:
Как зарегать всех слушателей, когда пункты меню динамичные? Я столкнулся с этим, когда делал клавиатурку с пагинацией: кнопки динамично появляются/исчезают, а список данных вообще может быть пустой.
Сейчас спокойно можно делать менюшки на базе waiters, потому что они работают от команды и в определённом скоупе (пользователя, например).

Subscription levels

A cup of tea

$ 0,51 per month

A bottle of coffee

$ 2,03 per month
Go up