handlers: fix UTF-8 byte-slice panic in message log preview

This commit is contained in:
2026-08-08 19:52:01 +08:00
parent b50f794d52
commit 9a96f78177
+4 -1
View File
@@ -673,7 +673,10 @@ pub async fn message_handler(bot: Bot, message: Message) -> Result<(), RequestEr
.unwrap_or_else(|| "unknown".to_string()); .unwrap_or_else(|| "unknown".to_string());
let text_preview = message let text_preview = message
.text() .text()
.map(|t| if t.len() > 120 { &t[..120] } else { t }) .map(|t| {
let end = t.floor_char_boundary(120.min(t.len()));
&t[..end]
})
.unwrap_or("<no text>"); .unwrap_or("<no text>");
log::info!( log::info!(
"message from {sender} in {} (private={is_private}): {text_preview}", "message from {sender} in {} (private={is_private}): {text_preview}",