commit
36bbfa8847
|
|
@ -186,7 +186,18 @@ public class RoleDialogModel : ITrackableMessage
|
||||||
|
|
||||||
public class ChatMessageWrapper
|
public class ChatMessageWrapper
|
||||||
{
|
{
|
||||||
public int IntervalMilliSeconds { get; set; } = 1000;
|
/// <summary>
|
||||||
|
/// Messages sending interval in milliseconds
|
||||||
|
/// </summary>
|
||||||
|
public int SendingInterval { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Whether the Messages are saved to db
|
||||||
|
/// </summary>
|
||||||
public bool SaveToDb { get; set; }
|
public bool SaveToDb { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Messages to send or save
|
||||||
|
/// </summary>
|
||||||
public List<RoleDialogModel>? Messages { get; set; }
|
public List<RoleDialogModel>? Messages { get; set; }
|
||||||
}
|
}
|
||||||
|
|
@ -72,7 +72,7 @@ public class PlotChartFn : IFunctionCallback
|
||||||
{
|
{
|
||||||
message.AdditionalMessageWrapper = new()
|
message.AdditionalMessageWrapper = new()
|
||||||
{
|
{
|
||||||
IntervalMilliSeconds = 1500,
|
SendingInterval = 1500,
|
||||||
SaveToDb = true,
|
SaveToDb = true,
|
||||||
Messages = new List<RoleDialogModel>
|
Messages = new List<RoleDialogModel>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -122,14 +122,15 @@ public class ChatHubConversationHook : ConversationHookBase
|
||||||
await SendEvent(ChatEvent.OnSenderActionGenerated, conv.ConversationId, action);
|
await SendEvent(ChatEvent.OnSenderActionGenerated, conv.ConversationId, action);
|
||||||
await SendEvent(ChatEvent.OnMessageReceivedFromAssistant, conv.ConversationId, data);
|
await SendEvent(ChatEvent.OnMessageReceivedFromAssistant, conv.ConversationId, data);
|
||||||
|
|
||||||
if (message.AdditionalMessageWrapper?.Messages?.Count > 0)
|
var wrapper = message.AdditionalMessageWrapper;
|
||||||
|
if (wrapper?.SendingInterval > 0 && wrapper?.Messages?.Count > 0)
|
||||||
{
|
{
|
||||||
action.SenderAction = SenderActionEnum.TypingOn;
|
action.SenderAction = SenderActionEnum.TypingOn;
|
||||||
await SendEvent(ChatEvent.OnSenderActionGenerated, conv.ConversationId, action);
|
await SendEvent(ChatEvent.OnSenderActionGenerated, conv.ConversationId, action);
|
||||||
|
|
||||||
foreach (var item in message.AdditionalMessageWrapper.Messages)
|
foreach (var item in wrapper.Messages)
|
||||||
{
|
{
|
||||||
await Task.Delay(message.AdditionalMessageWrapper.IntervalMilliSeconds);
|
await Task.Delay(wrapper.SendingInterval);
|
||||||
|
|
||||||
data = new ChatResponseDto
|
data = new ChatResponseDto
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue