diff --git a/Cargo.toml b/Cargo.toml index 0235fc94..e2fcd313 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,7 +45,7 @@ futures = "0.3.1" pin-project = "0.4.6" serde_with_macros = "1.0.1" -teloxide-macros = "0.3.0" +teloxide-macros = "0.3.1" [dev-dependencies] smart-default = "0.6.0" diff --git a/README.md b/README.md index 038b8329..0fcdab98 100644 --- a/README.md +++ b/README.md @@ -35,9 +35,16 @@ ## Features -
-All the API types and methods are implemented with heavy use of ADTs to enforce type safety and tight integration with IDEs. Bot's commands have precise types too, thereby serving as a self-documenting code and respecting the parse, don't validate programming idiom. +teloxide has functional reactive design, allowing you to declaratively manipulate streams of updates from Telegram using filters, maps, folds, zips, and a lot of other adaptors. +
+ +
+All the API types and methods are hand-written, with heavy use of ADTs (algebraic data types) to enforce type safety and tight integration with IDEs. As few Option
s as possible.
+You can describe bot commands as enumerations, and then they'll be automatically constructed from strings. Just like you describe JSON structures in serde-json and command-line arguments in structopt. +
+ +