feat: implement MessageHistory structure
This commit is contained in:
26
src/brain/messageHistory.ts
Normal file
26
src/brain/messageHistory.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
export type MessageSender = "persona" | "user";
|
||||
|
||||
export interface MessageHistoryEntry {
|
||||
sender: MessageSender;
|
||||
time: Date;
|
||||
content: string;
|
||||
}
|
||||
|
||||
function formatTime(time: Date): string {
|
||||
const pad = (n: number) => n.toString().padStart(2, "0");
|
||||
return `${time.getFullYear()}-${pad(time.getMonth() + 1)}-${pad(
|
||||
time.getDate(),
|
||||
)} ${pad(time.getHours())}:${pad(time.getMinutes())}:${pad(time.getSeconds())}`;
|
||||
}
|
||||
|
||||
export function translateMessageHistory(
|
||||
personaName: string,
|
||||
entries: ReadonlyArray<MessageHistoryEntry>,
|
||||
): string {
|
||||
return entries
|
||||
.map((entry) => {
|
||||
const label = entry.sender === "persona" ? personaName : "사용자";
|
||||
return `${label}@${formatTime(entry.time)}: ${entry.content}`;
|
||||
})
|
||||
.join("\n");
|
||||
}
|
||||
Reference in New Issue
Block a user