sendMessage method
void
sendMessage(
- NIMMessage message, {
- NIMMessage? replyMsg,
- NIMMessagePushConfig? pushConfig,
override
发送消息最终实现
message 消息
replyMsg 回复消息
pushConfig 推送配置
aiAgent 消息发送的AI代理
Implementation
@override
void sendMessage(
NIMMessage message, {
NIMMessage? replyMsg,
NIMMessagePushConfig? pushConfig,
}) async {
final messageClientId = message.messageClientId;
if (messageClientId != null) {
_pendingTopicMessageClientIds.add(messageClientId);
}
final params = await ChatMessageHelper.getSenderParams(
message,
conversationId,
pushConfig: pushConfig,
);
if (isPlaceholder) {
final result = await TopicRepo.instance.sendTopicMessage(
message: message,
conversationId: conversationId,
params: V2NIMSendTopicMessageParams(sendMessageParams: params),
);
_handleTopicSendResult(result, message, isFirstMessage: true);
return;
}
if (replyMsg != null) {
final result = await TopicRepo.instance.replyTopicMessage(
message: message,
replyMessage: replyMsg,
topic: _currentTopic!,
params: params,
);
_handleTopicSendResult(result, message);
return;
}
final result = await TopicRepo.instance.sendTopicMessage(
message: message,
conversationId: conversationId,
topic: _currentTopic,
params: V2NIMSendTopicMessageParams(sendMessageParams: params),
);
_handleTopicSendResult(result, message);
}