mirror of
https://github.com/kristoferssolo/tg-relay-rs.git
synced 2026-02-04 06:42:09 +00:00
refactor: clippy warnings
This commit is contained in:
25
src/main.rs
25
src/main.rs
@@ -30,10 +30,9 @@ async fn main() -> color_eyre::Result<()> {
|
||||
|
||||
// Command::repl(bot.clone(), answer).await;
|
||||
teloxide::repl(bot.clone(), move |bot: Bot, msg: Message| {
|
||||
// clone the handlers vector into the closure
|
||||
let handlers = handlers.clone();
|
||||
async move {
|
||||
process_message(&bot, &msg, &handlers);
|
||||
process_message(&bot, &msg, &handlers).await;
|
||||
respond(())
|
||||
}
|
||||
})
|
||||
@@ -42,26 +41,20 @@ async fn main() -> color_eyre::Result<()> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn process_message(bot: &Bot, msg: &Message, handlers: &[Handler]) {
|
||||
async fn process_message(bot: &Bot, msg: &Message, handlers: &[Handler]) {
|
||||
let Some(text) = msg.text() else {
|
||||
return;
|
||||
};
|
||||
|
||||
for handler in handlers {
|
||||
if let Some(url) = handler.try_extract(text) {
|
||||
handle_extracted_content(bot.clone(), msg.chat.id, handler.clone(), url);
|
||||
break;
|
||||
if let Err(err) = handler.handle(bot, msg.chat.id, url).await {
|
||||
error!(%err, "handler failed");
|
||||
let _ = bot
|
||||
.send_message(msg.chat.id, "Failed to fetch media, you foking donkey.")
|
||||
.await;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn handle_extracted_content(bot: Bot, chat: ChatId, handler: Handler, url: String) {
|
||||
tokio::spawn(async move {
|
||||
if let Err(err) = handler.handle(&bot, chat, url).await {
|
||||
error!(%err, "handler failed");
|
||||
let _ = bot
|
||||
.send_message(chat, "Failed to fetch media, you foking donkey.")
|
||||
.await;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user