Есть два варианта определения запросов к серверу:
1) Создавать билдеры с данными.
Преимущества: их можно переиспользовать: частично определять между пользовательскими функциями, отправлять запрос с теми же данными повторно, хранить где-то и т.д.
Минусы:
- Бойлерплейт в написании .send().await?
.
- Пришлось SRP немножко нарушить и сделать bot.get_updates().limit(100).send().await
вместо GetUpdates::new().limit(100).send(bot).await
, т.к. это просто удобнее для конечного пользователя библиотеки.
2) Функциями с аргументами по-умолчанию и именованными параметрами (представим, что в Rust они есть).
Тогда SRP не нарушается и в то же время код опрятно выглядит, но переиспользовать уже не выходит.