mirror of
https://github.com/flibusta-apps/book_bot.git
synced 2025-12-06 07:25:36 +01:00
Refactor book module
This commit is contained in:
@@ -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) => {
|
||||||
|
bot.send_message(chat_id, "Повторите поиск сначала").send().await;
|
||||||
|
return Ok(());
|
||||||
|
},
|
||||||
_ => {
|
_ => {
|
||||||
return match chat_id {
|
return Ok(());
|
||||||
Some(v) => match bot.send_message(v, "Повторите поиск сначала").send().await
|
|
||||||
{
|
|
||||||
Ok(_) => Ok(()),
|
|
||||||
Err(err) => Err(Box::new(err)),
|
|
||||||
},
|
|
||||||
None => 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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user