Merge pull request #896 from fr0staman/master

Use `UserId` instead of `i64` for `user_id` in `user_mention`
This commit is contained in:
Waffle Maybe 2023-07-10 06:00:56 +00:00 committed by GitHub
commit 10846e19fd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 6 deletions

View file

@ -6,6 +6,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## unreleased ## unreleased
### Fixed
- Use `UserId` instead of `i64` for `user_id` in `html::user_mention` and `markdown::user_mention` ([PR 896](https://github.com/teloxide/teloxide/pull/896))
## 0.12.2 - 2023-02-15 ## 0.12.2 - 2023-02-15
### Fixed ### Fixed

View file

@ -2,7 +2,7 @@
//! //!
//! [spec]: https://core.telegram.org/bots/api#html-style //! [spec]: https://core.telegram.org/bots/api#html-style
use teloxide_core::types::User; use teloxide_core::types::{User, UserId};
/// Applies the bold font style to the string. /// Applies the bold font style to the string.
/// ///
@ -56,7 +56,7 @@ pub fn link(url: &str, text: &str) -> String {
/// Builds an inline user mention link with an anchor. /// 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 \ #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \
without using its output does nothing useful"] without using its output does nothing useful"]
pub fn user_mention(user_id: i64, text: &str) -> String { pub fn user_mention(user_id: UserId, text: &str) -> String {
link(format!("tg://user?id={user_id}").as_str(), text) link(format!("tg://user?id={user_id}").as_str(), text)
} }
@ -158,7 +158,7 @@ mod tests {
#[test] #[test]
fn test_user_mention() { fn test_user_mention() {
assert_eq!( assert_eq!(
user_mention(123_456_789, "<pwner666>"), user_mention(UserId(123_456_789), "<pwner666>"),
"<a href=\"tg://user?id=123456789\">&lt;pwner666&gt;</a>", "<a href=\"tg://user?id=123456789\">&lt;pwner666&gt;</a>",
); );
} }

View file

@ -2,7 +2,7 @@
//! //!
//! [spec]: https://core.telegram.org/bots/api#markdownv2-style //! [spec]: https://core.telegram.org/bots/api#markdownv2-style
use teloxide_core::types::User; use teloxide_core::types::{User, UserId};
/// Applies the bold font style to the string. /// Applies the bold font style to the string.
/// ///
@ -71,7 +71,7 @@ pub fn link(url: &str, text: &str) -> String {
/// Builds an inline user mention link with an anchor. /// 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 \ #[must_use = "This function returns a new string, rather than mutating the argument, so calling it \
without using its output does nothing useful"] without using its output does nothing useful"]
pub fn user_mention(user_id: i64, text: &str) -> String { pub fn user_mention(user_id: UserId, text: &str) -> String {
link(format!("tg://user?id={user_id}").as_str(), text) link(format!("tg://user?id={user_id}").as_str(), text)
} }
@ -203,7 +203,10 @@ mod tests {
#[test] #[test]
fn test_user_mention() { fn test_user_mention() {
assert_eq!(user_mention(123_456_789, "pwner666"), "[pwner666](tg://user?id=123456789)"); assert_eq!(
user_mention(UserId(123_456_789), "pwner666"),
"[pwner666](tg://user?id=123456789)"
);
} }
#[test] #[test]