diff --git a/CHANGELOG.md b/CHANGELOG.md index 802f086..b21fafd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ +## 0.13.0 (2022-04-18) + +### [Bot API 6.0](https://core.telegram.org/bots/api#april-16-2022) - [#58](https://github.com/ayrat555/frankenstein/pull/58), [#59](https://github.com/ayrat555/frankenstein/pull/59) + + * Added support for Web Apps, see the [detailed manual here](https://core.telegram.org/bots/webapps). ([blog announcement](https://telegram.org/blog/notifications-bots)) + * Added the class [WebAppInfo](https://core.telegram.org/bots/api#webappinfo) and the fields web_app to the classes [KeyboardButton](https://core.telegram.org/bots/api#keyboardbutton) and [InlineKeyboardButton](https://core.telegram.org/bots/api#inlinekeyboardbutton). + * Added the class [SentWebAppMessage](https://core.telegram.org/bots/api#sentwebappmessage) and the method [answerWebAppQuery](https://core.telegram.org/bots/api#answerwebappquery) for sending an answer to a Web App query, which originated from an inline button of the 'web_app' type. + * Added the class [WebAppData](https://core.telegram.org/bots/api#webappdata) and the field web_app_data to the class [Message](https://core.telegram.org/bots/api#message). + * Added the class [MenuButton](https://core.telegram.org/bots/api#menubutton) and the methods [setChatMenuButton](https://core.telegram.org/bots/api#setchatmenubutton) and [getChatMenuButton](https://core.telegram.org/bots/api#getchatmenubutton) for managing the behavior of the bot's menu button in private chats. + * Added the class [ChatAdministratorRights](https://core.telegram.org/bots/api#chatadministratorrights) and the methods [setMyDefaultAdministratorRights](https://core.telegram.org/bots/api#setmydefaultadministratorrights) and [getMyDefaultAdministratorRights](https://core.telegram.org/bots/api#getmydefaultadministratorrights) for managing the bot's default administrator rights. + * Added support for t.me links that can be used to add the bot to groups and channels as an administrator. + * Added the field last_synchronization_error_date to the class [WebhookInfo](https://core.telegram.org/bots/api#webhookinfo). + * Renamed the field can_manage_voice_chats to can_manage_video_chats in the class [ChatMemberAdministrator](https://core.telegram.org/bots/api#chatmemberadministrator). The old field will remain temporarily available. + * Renamed the parameter can_manage_voice_chats to can_manage_video_chats in the method [promoteChatMember](https://core.telegram.org/bots/api#promotechatmember). The old parameter will remain temporarily available. + * Renamed the fields voice_chat_scheduled, voice_chat_started, voice_chat_ended, and voice_chat_participants_invited to video_chat_scheduled, video_chat_started, video_chat_ended, and video_chat_participants_invited in the class [Message](https://core.telegram.org/bots/api#message). The old fields will remain temporarily available. + ## 0.12.0 (2022-03-20) * Switch from `derive_builder` to `typed-builder` - [#53](https://github.com/ayrat555/frankenstein/pull/53) diff --git a/Cargo.toml b/Cargo.toml index 72bdb81..50893a2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "frankenstein" -version = "0.12.0" +version = "0.13.0" authors = ["Ayrat Badykov "] description = "Telegram bot API client for Rust" edition = "2018" diff --git a/README.md b/README.md index 419810a..44d8175 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Telegram bot API client for Rust. -It's a complete wrapper for Telegram bot API and it's up to date with version 5.7 of the API. +It's a complete wrapper for Telegram bot API and it's up to date with version 6 of the API. Frankenstein data structures (rust structs and enums) are mapped one-to-one from Telegram bot API objects and method params. @@ -17,7 +17,7 @@ Add this to your Cargo.toml ```toml [dependencies] -frankenstein = "0.12" +frankenstein = "0.13" ``` ## Features @@ -35,13 +35,13 @@ frankenstein = "0.12" To use the async client add the following line to your `Cargo.toml` file: ```toml -frankenstein = { version = "0.12", default-features = false, features = ["async-http-client"] } +frankenstein = { version = "0.13", default-features = false, features = ["async-http-client"] } ``` You can also disable all features: ```toml -frankenstein = { version = "0.12", default-features = false } +frankenstein = { version = "0.13", default-features = false } ``` In this case the crate will ship only with telegram types @@ -159,7 +159,7 @@ It has two variants: ### Documentation -Frankenstein implements all telegram bot api methods. To see which parameters you should pass, check [docs.rs](https://docs.rs/frankenstein/0.12.0/frankenstein/api_traits/telegram_api/trait.TelegramApi.html#provided-methods) +Frankenstein implements all telegram bot api methods. To see which parameters you should pass, check [docs.rs](https://docs.rs/frankenstein/0.13.0/frankenstein/api_traits/telegram_api/trait.TelegramApi.html#provided-methods) You can check out a real world bot created using this library - [El Monitorro](https://github.com/ayrat555/el_monitorro). El Monitorro is a feed reader bot. @@ -171,7 +171,7 @@ The library uses `ureq` http client by default, but it can be easily replaced wi 1. `ureq` comes with a default feature (`impl`). So the feature should be disabled: ```toml -frankenstein = { version = "0.12", default-features = false, features = ["telegram-trait"] } +frankenstein = { version = "0.13", default-features = false, features = ["telegram-trait"] } ``` 2. Implement `TelegramApi` trait which requires two functions: