18 lines
870 B
Markdown
18 lines
870 B
Markdown
## Простой фреймворк\фасад для Telegram-бота
|
|
|
|
### Цели
|
|
|
|
* Предоставить удобные абстракции
|
|
* Предоставить инструменты для тестирования
|
|
* Отделить логику бота от конкретной реализации
|
|
|
|
### Основная идея
|
|
|
|
Цепочка из `Command` принимает `BotRequest` и `BotResponse`, и после обработки вызывает следующий `Command`.
|
|
|
|
`BotRequest` содержит информации о действии пользователя.
|
|
|
|
`BotResponse` позволяет отправить ответ в виде `Screen`.
|
|
|
|
`Screen` содержит отображаемый текст и действия -- кнопки для клавиатуры или inline-кнопки с данными.
|