diff --git a/src/bots/approved_bot/services/book_library/formatters.rs b/src/bots/approved_bot/services/book_library/formatters.rs index a1b8de6..98eef04 100644 --- a/src/bots/approved_bot/services/book_library/formatters.rs +++ b/src/bots/approved_bot/services/book_library/formatters.rs @@ -435,12 +435,17 @@ impl Format for Book { let book_title = { let Book { title, lang, .. } = self; - let pages_count = match self.pages { - Some(1) | None => "".to_string(), - Some(v) => format!(" [ {v}с. ]\n"), + let year_part = match self.year { + 0 => "".to_string(), + v => format!(" | {v}г."), }; - format!("📖 {title} | {lang}{pages_count}\n") + let pages_count = match self.pages { + Some(1) | None => "".to_string(), + Some(v) => format!(" [ {v}с. ]"), + }; + + format!("📖 {title} | {lang}{year_part}{pages_count}\n") }; let annotations = match self.annotation_exists { diff --git a/src/bots/approved_bot/services/book_library/types.rs b/src/bots/approved_bot/services/book_library/types.rs index f798595..49beb81 100644 --- a/src/bots/approved_bot/services/book_library/types.rs +++ b/src/bots/approved_bot/services/book_library/types.rs @@ -203,6 +203,7 @@ pub struct Book { // source: Source, // remote_id: u32, // id_deleted: bool, + pub year: i32, pub pages: Option, } @@ -218,6 +219,7 @@ pub struct SearchBook { pub authors: Vec, pub translators: Vec, pub sequences: Vec, + pub year: i32, } impl From for Book { @@ -233,6 +235,7 @@ impl From for Book { sequences: value.sequences, genres: vec![], pages: None, + year: value.year, } } } @@ -248,6 +251,7 @@ pub struct AuthorBook { pub annotation_exists: bool, pub translators: Vec, pub sequences: Vec, + pub year: i32, } impl From for Book { @@ -263,6 +267,7 @@ impl From for Book { sequences: value.sequences, genres: vec![], pages: None, + year: value.year, } } } @@ -278,6 +283,7 @@ pub struct TranslatorBook { pub annotation_exists: bool, pub authors: Vec, pub sequences: Vec, + pub year: i32, } impl From for Book { @@ -293,6 +299,7 @@ impl From for Book { sequences: value.sequences, genres: vec![], pages: None, + year: value.year, } } } @@ -308,6 +315,7 @@ pub struct SequenceBook { pub authors: Vec, pub translators: Vec, pub annotation_exists: bool, + pub year: i32, } impl From for Book { @@ -323,6 +331,7 @@ impl From for Book { sequences: vec![], genres: vec![], pages: None, + year: value.year, } } }