Refactor book module

This commit is contained in:
2023-05-18 02:00:53 +02:00
parent 7fe49334f8
commit 4033db1c8f

View File

@@ -150,23 +150,17 @@ where
let items_page = match books_getter(id, 1, allowed_langs.clone()).await { let items_page = match books_getter(id, 1, allowed_langs.clone()).await {
Ok(v) => v, Ok(v) => v,
Err(err) => { Err(err) => {
match bot bot
.send_message(chat_id, "Ошибка! Попробуйте позже :(") .send_message(chat_id, "Ошибка! Попробуйте позже :(")
.send() .send()
.await .await?;
{
Ok(_) => (),
Err(err) => log::error!("{:?}", err),
}
return Err(err); return Err(err);
} }
}; };
if items_page.total_pages == 0 { if items_page.total_pages == 0 {
return match bot.send_message(chat_id, "Книги не найдены!").send().await { bot.send_message(chat_id, "Книги не найдены!").send().await?;
Ok(_) => Ok(()), return Ok(());
Err(err) => Err(Box::new(err)),
};
}; };
let formated_items = items_page.format_items(); let formated_items = items_page.format_items();
@@ -183,15 +177,13 @@ where
let keyboard = generic_get_pagination_keyboard(1, total_pages, callback_data, true); let keyboard = generic_get_pagination_keyboard(1, total_pages, callback_data, true);
match bot bot
.send_message(chat_id, message_text) .send_message(chat_id, message_text)
.reply_markup(keyboard) .reply_markup(keyboard)
.send() .send()
.await .await?;
{
Ok(_) => Ok(()), Ok(())
Err(err) => Err(Box::new(err)),
}
} }
async fn send_pagination_book_handler<T, Fut>( async fn send_pagination_book_handler<T, Fut>(
@@ -216,15 +208,12 @@ where
let (chat_id, message_id) = match (chat_id, message_id) { let (chat_id, message_id) = match (chat_id, message_id) {
(Some(chat_id), Some(message_id)) => (chat_id, message_id), (Some(chat_id), Some(message_id)) => (chat_id, message_id),
_ => { (Some(chat_id), None) => {
return match chat_id { bot.send_message(chat_id, "Повторите поиск сначала").send().await;
Some(v) => match bot.send_message(v, "Повторите поиск сначала").send().await return Ok(());
{
Ok(_) => Ok(()),
Err(err) => Err(Box::new(err)),
}, },
None => return Ok(()), _ => {
} return Ok(());
} }
}; };
@@ -246,24 +235,19 @@ where
}; };
if items_page.total_pages == 0 { if items_page.total_pages == 0 {
return match bot.send_message(chat_id, "Книги не найдены!").send().await { bot.send_message(chat_id, "Книги не найдены!").send().await?;
Ok(_) => Ok(()), return Ok(());
Err(err) => Err(Box::new(err)),
};
}; };
if page > items_page.total_pages { if page > items_page.total_pages {
items_page = match books_getter(id, items_page.total_pages, allowed_langs.clone()).await { items_page = match books_getter(id, items_page.total_pages, allowed_langs.clone()).await {
Ok(v) => v, Ok(v) => v,
Err(err) => { Err(err) => {
match bot bot
.send_message(chat_id, "Ошибка! Попробуйте позже :(") .send_message(chat_id, "Ошибка! Попробуйте позже :(")
.send() .send()
.await .await?;
{
Ok(_) => (),
Err(err) => log::error!("{:?}", err),
}
return Err(err); return Err(err);
} }
}; };
@@ -278,15 +262,13 @@ where
let keyboard = generic_get_pagination_keyboard(page, total_pages, callback_data, true); let keyboard = generic_get_pagination_keyboard(page, total_pages, callback_data, true);
match bot bot
.edit_message_text(chat_id, message_id, message_text) .edit_message_text(chat_id, message_id, message_text)
.reply_markup(keyboard) .reply_markup(keyboard)
.send() .send()
.await .await?;
{
Ok(_) => Ok(()), Ok(())
Err(err) => Err(Box::new(err)),
}
} }
pub fn get_book_handler() -> crate::bots::BotHandler { pub fn get_book_handler() -> crate::bots::BotHandler {