From ecf0c36356c4fda7ccf304b48df40c81b4a17201 Mon Sep 17 00:00:00 2001 From: Hirrolot Date: Thu, 21 Jul 2022 20:15:44 +0600 Subject: [PATCH 1/6] Remove `ArtHome12/vzmuinebot` from outdated bots I think it was added by mistake since it uses teloxide v0.9.2, which is a relatively new version. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index b05f48f8..ad544568 100644 --- a/README.md +++ b/README.md @@ -350,7 +350,6 @@ Feel free to propose your own bot to our collection! - [`Hermitter/tepe`](https://github.com/Hermitter/tepe) — A CLI to command a bot to send messages and files over Telegram. - [`myblackbeard/basketball-betting-bot`](https://github.com/myblackbeard/basketball-betting-bot) — The bot lets you bet on NBA games against your buddies. - [`dracarys18/grpmr-rs`](https://github.com/dracarys18/grpmr-rs) — Modular Telegram Group Manager Bot written in Rust. - - [`ArtHome12/vzmuinebot`](https://github.com/ArtHome12/vzmuinebot) — Telegram bot for food menu navigate. - [`ArtHome12/cognito_bot`](https://github.com/ArtHome12/cognito_bot) — The bot is designed to anonymize messages to a group. - [`crapstone/hsctt`](https://codeberg.org/crapstones-bots/hsctt) — A bot that converts HTTP status codes into text. From b0bfbcbc7241604de6b77e7ad7d0e9a44b26d822 Mon Sep 17 00:00:00 2001 From: Maybe Waffle Date: Fri, 22 Jul 2022 13:47:10 +0400 Subject: [PATCH 2/6] Fix image paths in readme --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ad544568..8a8aaf3f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ > [v0.9 -> v0.10 migration guide >>](MIGRATION_GUIDE.md#09---010)
- +

teloxide

@@ -103,7 +103,7 @@ async fn main() { ```
- +
### Commands @@ -171,7 +171,7 @@ async fn answer( ```
- +
### Dialogues management @@ -294,7 +294,7 @@ async fn receive_location( ```
- +
[More examples >>](examples/) From 52096d269fc98d249c51aae9ff2279066ab825ea Mon Sep 17 00:00:00 2001 From: Maybe Waffle Date: Thu, 14 Oct 2021 12:39:13 +0300 Subject: [PATCH 3/6] Add more `#[must_use]` attributes for appropriate functions --- .../dialogue/storage/trace_storage.rs | 3 ++- src/dispatching/stop_token.rs | 2 ++ src/utils/html.rs | 22 ++++++++++++++++ src/utils/markdown.rs | 26 +++++++++++++++++++ 4 files changed, 52 insertions(+), 1 deletion(-) diff --git a/src/dispatching/dialogue/storage/trace_storage.rs b/src/dispatching/dialogue/storage/trace_storage.rs index 33571194..11933012 100644 --- a/src/dispatching/dialogue/storage/trace_storage.rs +++ b/src/dispatching/dialogue/storage/trace_storage.rs @@ -18,11 +18,12 @@ pub struct TraceStorage { } impl TraceStorage { - #[must_use] + #[must_use = "This function is pure, that is does nothing unless it's output is used"] pub fn new(inner: Arc) -> Arc { Arc::new(Self { inner }) } + #[must_use = "This function is pure, that is does nothing unless it's output is used"] pub fn into_inner(self) -> Arc { self.inner } diff --git a/src/dispatching/stop_token.rs b/src/dispatching/stop_token.rs index 7b2f9641..a9ff5947 100644 --- a/src/dispatching/stop_token.rs +++ b/src/dispatching/stop_token.rs @@ -39,6 +39,7 @@ pub struct AsyncStopFlag(#[pin] Abortable>); impl AsyncStopToken { /// Create a new token/flag pair. + #[must_use = "This function is pure, that is does nothing unless it's output is used"] pub fn new_pair() -> (Self, AsyncStopFlag) { let (handle, reg) = AbortHandle::new_pair(); let token = Self(handle); @@ -56,6 +57,7 @@ impl StopToken for AsyncStopToken { impl AsyncStopFlag { /// Returns true if the stop token linked to `self` was used. + #[must_use = "This function is pure, that is does nothing unless it's output is used"] pub fn is_stopped(&self) -> bool { self.0.is_aborted() } diff --git a/src/utils/html.rs b/src/utils/html.rs index dc655fbf..31814fc3 100644 --- a/src/utils/html.rs +++ b/src/utils/html.rs @@ -8,6 +8,8 @@ use teloxide_core::types::User; /// /// Passed string will not be automatically escaped because it can contain /// nested markup. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn bold(s: &str) -> String { format!("{}", s) } @@ -16,6 +18,8 @@ pub fn bold(s: &str) -> String { /// /// Passed string will not be automatically escaped because it can contain /// nested markup. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn italic(s: &str) -> String { format!("{}", s) } @@ -24,6 +28,8 @@ pub fn italic(s: &str) -> String { /// /// Passed string will not be automatically escaped because it can contain /// nested markup. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn underline(s: &str) -> String { format!("{}", s) } @@ -32,6 +38,8 @@ pub fn underline(s: &str) -> String { /// /// Passed string will not be automatically escaped because it can contain /// nested markup. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn strike(s: &str) -> String { format!("{}", s) } @@ -39,11 +47,15 @@ pub fn strike(s: &str) -> String { /// Builds an inline link with an anchor. /// /// Escapes the passed URL and the link text. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn link(url: &str, text: &str) -> String { format!("
{}", escape(url), escape(text)) } /// Builds an inline user mention link with an anchor. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn user_mention(user_id: i64, text: &str) -> String { link(format!("tg://user?id={}", user_id).as_str(), text) } @@ -51,6 +63,8 @@ pub fn user_mention(user_id: i64, text: &str) -> String { /// Formats the code block. /// /// Escapes HTML characters inside the block. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn code_block(code: &str) -> String { format!("
{}
", escape(code)) } @@ -58,6 +72,8 @@ pub fn code_block(code: &str) -> String { /// Formats the code block with a specific language syntax. /// /// Escapes HTML characters inside the block. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn code_block_with_lang(code: &str, lang: &str) -> String { format!( "
{}
", @@ -69,6 +85,8 @@ pub fn code_block_with_lang(code: &str, lang: &str) -> String { /// Formats the string as an inline code. /// /// Escapes HTML characters inside the block. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn code_inline(s: &str) -> String { format!("{}", escape(s)) } @@ -80,10 +98,14 @@ pub fn code_inline(s: &str) -> String { /// they shoudn't be escaped by the [spec]. /// /// [spec]: https://core.telegram.org/bots/api#html-style +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn escape(s: &str) -> String { s.replace('&', "&").replace('<', "<").replace('>', ">") } +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn user_mention_or_link(user: &User) -> String { match user.mention() { Some(mention) => mention, diff --git a/src/utils/markdown.rs b/src/utils/markdown.rs index 4419feb9..a90bae5c 100644 --- a/src/utils/markdown.rs +++ b/src/utils/markdown.rs @@ -8,6 +8,8 @@ use teloxide_core::types::User; /// /// Passed string will not be automatically escaped because it can contain /// nested markup. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn bold(s: &str) -> String { format!("*{}*", s) } @@ -17,6 +19,8 @@ pub fn bold(s: &str) -> String { /// Can be safely used with `utils::markdown::underline()`. /// Passed string will not be automatically escaped because it can contain /// nested markup. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn italic(s: &str) -> String { if s.starts_with("__") && s.ends_with("__") { format!(r"_{}\r__", &s[..s.len() - 1]) @@ -30,6 +34,8 @@ pub fn italic(s: &str) -> String { /// Can be safely used with `utils::markdown::italic()`. /// Passed string will not be automatically escaped because it can contain /// nested markup. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn underline(s: &str) -> String { // In case of ambiguity between italic and underline entities // ‘__’ is always greadily treated from left to right as beginning or end of @@ -47,6 +53,8 @@ pub fn underline(s: &str) -> String { /// /// Passed string will not be automatically escaped because it can contain /// nested markup. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn strike(s: &str) -> String { format!("~{}~", s) } @@ -54,11 +62,15 @@ pub fn strike(s: &str) -> String { /// Builds an inline link with an anchor. /// /// Escapes `)` and ``` characters inside the link url. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn link(url: &str, text: &str) -> String { format!("[{}]({})", text, escape_link_url(url)) } /// Builds an inline user mention link with an anchor. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn user_mention(user_id: i64, text: &str) -> String { link(format!("tg://user?id={}", user_id).as_str(), text) } @@ -66,6 +78,8 @@ pub fn user_mention(user_id: i64, text: &str) -> String { /// Formats the code block. /// /// Escapes ``` and `\` characters inside the block. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn code_block(code: &str) -> String { format!("```\n{}\n```", escape_code(code)) } @@ -73,6 +87,8 @@ pub fn code_block(code: &str) -> String { /// Formats the code block with a specific language syntax. /// /// Escapes ``` and `\` characters inside the block. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn code_block_with_lang(code: &str, lang: &str) -> String { format!("```{}\n{}\n```", escape(lang), escape_code(code)) } @@ -80,6 +96,8 @@ pub fn code_block_with_lang(code: &str, lang: &str) -> String { /// Formats the string as an inline code. /// /// Escapes ``` and `\` characters inside the block. +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn code_inline(s: &str) -> String { format!("`{}`", escape_code(s)) } @@ -88,6 +106,8 @@ pub fn code_inline(s: &str) -> String { /// v2][spec] message style. /// /// [spec]: https://core.telegram.org/bots/api#html-style +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn escape(s: &str) -> String { s.replace('_', r"\_") .replace('*', r"\*") @@ -111,16 +131,22 @@ pub fn escape(s: &str) -> String { /// Escapes all markdown special characters specific for the inline link URL /// (``` and `)`). +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn escape_link_url(s: &str) -> String { s.replace('`', r"\`").replace(')', r"\)") } /// Escapes all markdown special characters specific for the code block (``` and /// `\`). +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn escape_code(s: &str) -> String { s.replace('\\', r"\\").replace('`', r"\`") } +#[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ + without using it's output does nothing useful"] pub fn user_mention_or_link(user: &User) -> String { match user.mention() { Some(mention) => mention, From fd12e1eb06cdc7ff531cb10dde04ca67fad83267 Mon Sep 17 00:00:00 2001 From: Maybe Waffle Date: Fri, 22 Jul 2022 15:52:25 +0400 Subject: [PATCH 4/6] fix typos --- .../dialogue/storage/trace_storage.rs | 4 +-- src/dispatching/stop_token.rs | 4 +-- src/utils/html.rs | 22 ++++++++-------- src/utils/markdown.rs | 26 +++++++++---------- 4 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/dispatching/dialogue/storage/trace_storage.rs b/src/dispatching/dialogue/storage/trace_storage.rs index 11933012..0fe61065 100644 --- a/src/dispatching/dialogue/storage/trace_storage.rs +++ b/src/dispatching/dialogue/storage/trace_storage.rs @@ -18,12 +18,12 @@ pub struct TraceStorage { } impl TraceStorage { - #[must_use = "This function is pure, that is does nothing unless it's output is used"] + #[must_use = "This function is pure, that is does nothing unless its output is used"] pub fn new(inner: Arc) -> Arc { Arc::new(Self { inner }) } - #[must_use = "This function is pure, that is does nothing unless it's output is used"] + #[must_use = "This function is pure, that is does nothing unless its output is used"] pub fn into_inner(self) -> Arc { self.inner } diff --git a/src/dispatching/stop_token.rs b/src/dispatching/stop_token.rs index a9ff5947..f9c25aff 100644 --- a/src/dispatching/stop_token.rs +++ b/src/dispatching/stop_token.rs @@ -39,7 +39,7 @@ pub struct AsyncStopFlag(#[pin] Abortable>); impl AsyncStopToken { /// Create a new token/flag pair. - #[must_use = "This function is pure, that is does nothing unless it's output is used"] + #[must_use = "This function is pure, that is does nothing unless its output is used"] pub fn new_pair() -> (Self, AsyncStopFlag) { let (handle, reg) = AbortHandle::new_pair(); let token = Self(handle); @@ -57,7 +57,7 @@ impl StopToken for AsyncStopToken { impl AsyncStopFlag { /// Returns true if the stop token linked to `self` was used. - #[must_use = "This function is pure, that is does nothing unless it's output is used"] + #[must_use = "This function is pure, that is does nothing unless its output is used"] pub fn is_stopped(&self) -> bool { self.0.is_aborted() } diff --git a/src/utils/html.rs b/src/utils/html.rs index 31814fc3..407f0792 100644 --- a/src/utils/html.rs +++ b/src/utils/html.rs @@ -9,7 +9,7 @@ use teloxide_core::types::User; /// Passed string will not be automatically escaped because it can contain /// nested markup. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn bold(s: &str) -> String { format!("{}", s) } @@ -19,7 +19,7 @@ pub fn bold(s: &str) -> String { /// Passed string will not be automatically escaped because it can contain /// nested markup. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn italic(s: &str) -> String { format!("{}", s) } @@ -29,7 +29,7 @@ pub fn italic(s: &str) -> String { /// Passed string will not be automatically escaped because it can contain /// nested markup. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn underline(s: &str) -> String { format!("{}", s) } @@ -39,7 +39,7 @@ pub fn underline(s: &str) -> String { /// Passed string will not be automatically escaped because it can contain /// nested markup. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn strike(s: &str) -> String { format!("{}", s) } @@ -48,14 +48,14 @@ pub fn strike(s: &str) -> String { /// /// Escapes the passed URL and the link text. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn link(url: &str, text: &str) -> String { format!("{}", escape(url), escape(text)) } /// Builds an inline user mention link with an anchor. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn user_mention(user_id: i64, text: &str) -> String { link(format!("tg://user?id={}", user_id).as_str(), text) } @@ -64,7 +64,7 @@ pub fn user_mention(user_id: i64, text: &str) -> String { /// /// Escapes HTML characters inside the block. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn code_block(code: &str) -> String { format!("
{}
", escape(code)) } @@ -73,7 +73,7 @@ pub fn code_block(code: &str) -> String { /// /// Escapes HTML characters inside the block. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn code_block_with_lang(code: &str, lang: &str) -> String { format!( "
{}
", @@ -86,7 +86,7 @@ pub fn code_block_with_lang(code: &str, lang: &str) -> String { /// /// Escapes HTML characters inside the block. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn code_inline(s: &str) -> String { format!("{}", escape(s)) } @@ -99,13 +99,13 @@ pub fn code_inline(s: &str) -> String { /// /// [spec]: https://core.telegram.org/bots/api#html-style #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn escape(s: &str) -> String { s.replace('&', "&").replace('<', "<").replace('>', ">") } #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn user_mention_or_link(user: &User) -> String { match user.mention() { Some(mention) => mention, diff --git a/src/utils/markdown.rs b/src/utils/markdown.rs index a90bae5c..9c355444 100644 --- a/src/utils/markdown.rs +++ b/src/utils/markdown.rs @@ -9,7 +9,7 @@ use teloxide_core::types::User; /// Passed string will not be automatically escaped because it can contain /// nested markup. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn bold(s: &str) -> String { format!("*{}*", s) } @@ -20,7 +20,7 @@ pub fn bold(s: &str) -> String { /// Passed string will not be automatically escaped because it can contain /// nested markup. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn italic(s: &str) -> String { if s.starts_with("__") && s.ends_with("__") { format!(r"_{}\r__", &s[..s.len() - 1]) @@ -35,7 +35,7 @@ pub fn italic(s: &str) -> String { /// Passed string will not be automatically escaped because it can contain /// nested markup. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn underline(s: &str) -> String { // In case of ambiguity between italic and underline entities // ‘__’ is always greadily treated from left to right as beginning or end of @@ -54,7 +54,7 @@ pub fn underline(s: &str) -> String { /// Passed string will not be automatically escaped because it can contain /// nested markup. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn strike(s: &str) -> String { format!("~{}~", s) } @@ -63,14 +63,14 @@ pub fn strike(s: &str) -> String { /// /// Escapes `)` and ``` characters inside the link url. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn link(url: &str, text: &str) -> String { format!("[{}]({})", text, escape_link_url(url)) } /// Builds an inline user mention link with an anchor. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn user_mention(user_id: i64, text: &str) -> String { link(format!("tg://user?id={}", user_id).as_str(), text) } @@ -79,7 +79,7 @@ pub fn user_mention(user_id: i64, text: &str) -> String { /// /// Escapes ``` and `\` characters inside the block. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn code_block(code: &str) -> String { format!("```\n{}\n```", escape_code(code)) } @@ -88,7 +88,7 @@ pub fn code_block(code: &str) -> String { /// /// Escapes ``` and `\` characters inside the block. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn code_block_with_lang(code: &str, lang: &str) -> String { format!("```{}\n{}\n```", escape(lang), escape_code(code)) } @@ -97,7 +97,7 @@ pub fn code_block_with_lang(code: &str, lang: &str) -> String { /// /// Escapes ``` and `\` characters inside the block. #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn code_inline(s: &str) -> String { format!("`{}`", escape_code(s)) } @@ -107,7 +107,7 @@ pub fn code_inline(s: &str) -> String { /// /// [spec]: https://core.telegram.org/bots/api#html-style #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn escape(s: &str) -> String { s.replace('_', r"\_") .replace('*', r"\*") @@ -132,7 +132,7 @@ pub fn escape(s: &str) -> String { /// Escapes all markdown special characters specific for the inline link URL /// (``` and `)`). #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn escape_link_url(s: &str) -> String { s.replace('`', r"\`").replace(')', r"\)") } @@ -140,13 +140,13 @@ pub fn escape_link_url(s: &str) -> String { /// Escapes all markdown special characters specific for the code block (``` and /// `\`). #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn escape_code(s: &str) -> String { s.replace('\\', r"\\").replace('`', r"\`") } #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \ - without using it's output does nothing useful"] + without using its output does nothing useful"] pub fn user_mention_or_link(user: &User) -> String { match user.mention() { Some(mention) => mention, From ab463df5eb20ce4bfdd4cba26e38740f5271411e Mon Sep 17 00:00:00 2001 From: Hirrolot Date: Fri, 22 Jul 2022 18:55:58 +0600 Subject: [PATCH 5/6] Release v0.10.1 --- CHANGELOG.md | 11 +++++++++++ Cargo.toml | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2198111f..6a82450e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## unreleased +## 0.10.1 - 2022-07-22 + +### Fixed + + - Mark the following functions with `#[must_use]` ([PR 457](https://github.com/teloxide/teloxide/pull/457)): + - `TraceStorage::into_inner`. + - `AsyncStopToken::new_pair`. + - `AsyncStopFlag::is_stopped`. + - All from `crate::utils::{html, markdown}`. + - Rendering of GIFs in lib.rs and crates.io ([PR 681](https://github.com/teloxide/teloxide/pull/681)). + ## 0.10.0 - 2022-07-21 ### Added diff --git a/Cargo.toml b/Cargo.toml index df04f34e..07661691 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "teloxide" -version = "0.10.0" +version = "0.10.1" edition = "2021" description = "An elegant Telegram bots framework for Rust" repository = "https://github.com/teloxide/teloxide" From 24d90fcdc80531101bcaadf40c2f8d8a10cdb2b1 Mon Sep 17 00:00:00 2001 From: Hirrolot Date: Fri, 22 Jul 2022 20:03:57 +0600 Subject: [PATCH 6/6] Update the 'Community bots' section with GitHub dependents --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 8a8aaf3f..8ece9b1b 100644 --- a/README.md +++ b/README.md @@ -355,6 +355,8 @@ Feel free to propose your own bot to our collection! +See [600+ other public repositories using teloxide >>](https://github.com/teloxide/teloxide/network/dependents) + ## Contributing See [`CONRIBUTING.md`](CONTRIBUTING.md).