From 72d02a08d446422702f525a4ea84457c6f539f45 Mon Sep 17 00:00:00 2001 From: "nicolas.borges" Date: Wed, 17 Dec 2025 05:26:02 -0300 Subject: [PATCH] =?UTF-8?q?Corre=C3=A7=C3=A3o=20do=20panic=20quando=20n?= =?UTF-8?q?=C3=A3o=20encontra=20a=20bot=20transfer=20message?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.rs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index 5c32e88..5b4186e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -358,8 +358,13 @@ fn main() -> anyhow::Result<()> { }); // Find first agent message sent after the last bot message - let (pos, transfer_message) = - bot_transfer_message.expect("Failed to get the transfer bot message position"); + // let (pos, transfer_message) = + // bot_transfer_message.expect("Failed to get the transfer bot message position"); + + let (pos, transfer_message) = match bot_transfer_message { + Some((pos, msg)) => (pos, msg), + None => return "".to_string(), // Retorna string vazia em vez de panic + }; let msg = talk_histories .as_array() @@ -374,10 +379,11 @@ fn main() -> anyhow::Result<()> { }) .take(1) .collect_vec(); + // Se não encontrar mensagem do agente, retorna string vazia + if msg.is_empty() { + return "".to_string(); + } - //if msg[0] { - // return None; - //} let agent_first_message = msg[0]; // Calculate time difference between bot message and agent message @@ -425,6 +431,7 @@ fn main() -> anyhow::Result<()> { name, id, response_time, bot_transfer_date, user_response_date ) }) + .filter(|s| !s.is_empty()) // Filtra strings vazias .reduce(|acc, e| format!("{}\n{}", acc, e)) .unwrap_or("".to_string());