Clean up code formatting and error handling

The commit includes better handling of API errors, cleaner match
patterns, and consistent whitespace/formatting in file_utils.rs.
This commit is contained in:
2025-10-14 17:52:15 +02:00
parent 6e9ef95aaf
commit ea8290f74c

View File

@@ -1,6 +1,7 @@
use std::error::Error; use std::error::Error;
use axum::body::Bytes; use axum::body::Bytes;
use moka::future::Cache;
use once_cell::sync::Lazy; use once_cell::sync::Lazy;
use serde::Serialize; use serde::Serialize;
use teloxide::{ use teloxide::{
@@ -9,7 +10,6 @@ use teloxide::{
}; };
use tokio::fs::File; use tokio::fs::File;
use tracing::log; use tracing::log;
use moka::future::Cache;
use super::bot::ROUND_ROBIN_BOT; use super::bot::ROUND_ROBIN_BOT;
use crate::config::CONFIG; use crate::config::CONFIG;
@@ -44,7 +44,6 @@ pub static TEMP_FILES_CACHE: Lazy<Cache<i32, MessageId>> = Lazy::new(|| {
.build() .build()
}); });
pub async fn upload_file( pub async fn upload_file(
file: Bytes, file: Bytes,
filename: String, filename: String,
@@ -70,7 +69,6 @@ pub async fn upload_file(
} }
} }
pub async fn download_file(chat_id: i64, message_id: i32) -> Result<Option<File>, Box<dyn Error>> { pub async fn download_file(chat_id: i64, message_id: i32) -> Result<Option<File>, Box<dyn Error>> {
let bot = ROUND_ROBIN_BOT.get_bot(); let bot = ROUND_ROBIN_BOT.get_bot();
@@ -84,17 +82,13 @@ pub async fn download_file(chat_id: i64, message_id: i32) -> Result<Option<File>
{ {
Ok(v) => v, Ok(v) => v,
Err(err) => { Err(err) => {
if let teloxide::RequestError::Api(ref err) = err { if let teloxide::RequestError::Api(teloxide::ApiError::MessageToForwardNotFound) = err {
if let teloxide::ApiError::MessageToForwardNotFound = err {
return Ok(None); return Ok(None);
} }
}
if let teloxide::RequestError::Api(ref err) = err { if let teloxide::RequestError::Api(teloxide::ApiError::MessageIdInvalid) = err {
if let teloxide::ApiError::MessageIdInvalid = err {
return Ok(None); return Ok(None);
} }
}
log::error!("Error: {}", err); log::error!("Error: {}", err);
return Err(Box::new(err)); return Err(Box::new(err));
@@ -103,7 +97,9 @@ pub async fn download_file(chat_id: i64, message_id: i32) -> Result<Option<File>
let file_id = forwarded_message.document().unwrap().file.id.clone(); let file_id = forwarded_message.document().unwrap().file.id.clone();
TEMP_FILES_CACHE.insert(message_id, forwarded_message.id).await; TEMP_FILES_CACHE
.insert(message_id, forwarded_message.id)
.await;
let path = match bot.get_file(file_id.clone()).await { let path = match bot.get_file(file_id.clone()).await {
Ok(v) => v.path, Ok(v) => v.path,
@@ -116,7 +112,6 @@ pub async fn download_file(chat_id: i64, message_id: i32) -> Result<Option<File>
Ok(Some(File::open(path).await?)) Ok(Some(File::open(path).await?))
} }
pub async fn clean_files() -> Result<(), Box<dyn Error>> { pub async fn clean_files() -> Result<(), Box<dyn Error>> {
let bots_folder = "/var/lib/telegram-bot-api/"; let bots_folder = "/var/lib/telegram-bot-api/";
let documents_folder_name = "documents"; let documents_folder_name = "documents";