summaryrefslogtreecommitdiffstats
path: root/src/client/message.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-04-24 07:56:24 +0800
committerGitHub <noreply@github.com>2024-04-24 07:56:24 +0800
commit4f8d895154c602fb51a7694911efd96d52129f82 (patch)
tree3c8decb301c0b77937a152af2d4f996d0960839c /src/client/message.rs
parent0a4c0413ef0154cde2e3485ec0415e6069596a23 (diff)
downloadaichat-4f8d895154c602fb51a7694911efd96d52129f82.tar.gz
refactor: handling of system message (#432)
Diffstat (limited to 'src/client/message.rs')
-rw-r--r--src/client/message.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/client/message.rs b/src/client/message.rs
index 1a454ab..f9978c5 100644
--- a/src/client/message.rs
+++ b/src/client/message.rs
@@ -85,6 +85,21 @@ impl MessageContent {
}
}
}
+
+ pub fn to_text(&self) -> String {
+ match self {
+ MessageContent::Text(text) => text.to_string(),
+ MessageContent::Array(list) => {
+ let mut parts = vec![];
+ for item in list {
+ if let MessageContentPart::Text { text } = item {
+ parts.push(text.clone())
+ }
+ }
+ parts.join("\n\n")
+ }
+ }
+ }
}
#[derive(Debug, Clone, Deserialize, Serialize)]