Files
keyboard/keyBoard/Class/AiTalk/M/KBAiChatMessage.m
2026-01-23 21:51:37 +08:00

68 lines
1.9 KiB
Objective-C

//
// KBAiChatMessage.m
// keyBoard
//
// Created by Kiro on 2026/1/23.
//
#import "KBAiChatMessage.h"
@implementation KBAiChatMessage
+ (instancetype)userMessageWithText:(NSString *)text {
KBAiChatMessage *message = [[KBAiChatMessage alloc] init];
message.type = KBAiChatMessageTypeUser;
message.text = text;
message.timestamp = [NSDate date];
message.isComplete = YES;
return message;
}
+ (instancetype)assistantMessageWithText:(NSString *)text
audioDuration:(NSTimeInterval)duration
audioData:(NSData *)audioData {
KBAiChatMessage *message = [[KBAiChatMessage alloc] init];
message.type = KBAiChatMessageTypeAssistant;
message.text = text;
message.timestamp = [NSDate date];
message.audioDuration = duration;
message.audioData = audioData;
message.isComplete = NO;
return message;
}
+ (instancetype)assistantMessageWithText:(NSString *)text
audioId:(NSString *)audioId {
KBAiChatMessage *message = [[KBAiChatMessage alloc] init];
message.type = KBAiChatMessageTypeAssistant;
message.text = text;
message.timestamp = [NSDate date];
message.audioId = audioId;
message.audioDuration = 0;
message.audioData = nil;
message.isComplete = NO;
return message;
}
+ (instancetype)assistantMessageWithText:(NSString *)text {
KBAiChatMessage *message = [[KBAiChatMessage alloc] init];
message.type = KBAiChatMessageTypeAssistant;
message.text = text;
message.timestamp = [NSDate date];
message.audioId = nil;
message.audioDuration = 0;
message.audioData = nil;
message.isComplete = NO;
return message;
}
+ (instancetype)timeMessageWithTimestamp:(NSDate *)timestamp {
KBAiChatMessage *message = [[KBAiChatMessage alloc] init];
message.type = KBAiChatMessageTypeTime;
message.timestamp = timestamp;
message.isComplete = YES;
return message;
}
@end