BotSharp/src/Infrastructure/BotSharp.Abstraction/Conversations/ConversationHookBase.cs

82 lines
2.5 KiB
C#
Raw Normal View History

2023-07-19 22:30:23 +00:00
namespace BotSharp.Abstraction.Conversations;
2023-08-14 17:00:01 +00:00
public abstract class ConversationHookBase : IConversationHook
2023-07-19 22:30:23 +00:00
{
2024-12-12 01:16:59 +00:00
public Agent Agent { get; private set; }
2023-07-19 22:30:23 +00:00
2024-12-12 01:16:59 +00:00
public Conversation Conversation { get; private set; }
2023-07-19 22:30:23 +00:00
2024-12-12 01:16:59 +00:00
public List<RoleDialogModel> Dialogs { get; private set; }
2023-07-19 22:30:23 +00:00
2024-12-12 01:16:59 +00:00
public int Priority { get; protected set; } = 0;
2023-08-31 11:40:51 +00:00
2023-08-14 17:00:01 +00:00
public IConversationHook SetAgent(Agent agent)
2023-07-19 22:30:23 +00:00
{
2024-12-12 01:16:59 +00:00
Agent = agent;
return this;
}
2023-08-14 17:00:01 +00:00
public IConversationHook SetConversation(Conversation conversation)
{
2024-12-12 01:16:59 +00:00
Conversation = conversation;
return this;
}
2023-08-14 17:00:01 +00:00
public virtual Task OnStateLoaded(ConversationState state)
2024-02-23 01:53:00 +00:00
=> Task.CompletedTask;
2024-03-28 18:16:16 +00:00
public virtual Task OnStateChanged(StateChangeModel stateChange)
2024-02-23 01:53:00 +00:00
=> Task.CompletedTask;
2024-02-06 20:42:35 +00:00
public virtual Task OnDialogRecordLoaded(RoleDialogModel dialog)
2024-02-23 01:53:00 +00:00
=> Task.CompletedTask;
2024-02-06 20:42:35 +00:00
2023-10-16 20:07:07 +00:00
public virtual Task OnDialogsLoaded(List<RoleDialogModel> dialogs)
{
2024-12-12 01:16:59 +00:00
Dialogs = dialogs;
2023-10-16 20:07:07 +00:00
return Task.CompletedTask;
}
2023-10-23 00:31:49 +00:00
public virtual Task OnConversationEnding(RoleDialogModel message)
2024-02-23 01:53:00 +00:00
=> Task.CompletedTask;
2023-10-16 20:07:07 +00:00
2024-04-08 03:15:51 +00:00
public virtual Task OnNewTaskDetected(RoleDialogModel message, string reason)
=> Task.CompletedTask;
2024-03-22 19:06:20 +00:00
public virtual Task OnTaskCompleted(RoleDialogModel message)
2024-02-23 01:53:00 +00:00
=> Task.CompletedTask;
2023-10-16 20:07:07 +00:00
2023-10-23 00:31:49 +00:00
public virtual Task OnHumanInterventionNeeded(RoleDialogModel message)
2024-02-23 01:53:00 +00:00
=> Task.CompletedTask;
2023-08-09 21:49:55 +00:00
2023-08-14 17:00:01 +00:00
public virtual Task OnFunctionExecuting(RoleDialogModel message)
2024-02-23 01:53:00 +00:00
=> Task.CompletedTask;
2023-08-14 17:00:01 +00:00
public virtual Task OnFunctionExecuted(RoleDialogModel message)
2024-02-23 01:53:00 +00:00
=> Task.CompletedTask;
2023-07-27 21:56:57 +00:00
2023-10-16 20:07:07 +00:00
public virtual Task OnMessageReceived(RoleDialogModel message)
2024-02-23 01:53:00 +00:00
=> Task.CompletedTask;
2023-08-14 17:00:01 +00:00
2024-03-16 14:43:00 +00:00
public virtual Task OnPostbackMessageReceived(RoleDialogModel message, PostbackMessageModel replyMsg)
=> Task.CompletedTask;
2023-10-16 20:07:07 +00:00
public virtual Task OnResponseGenerated(RoleDialogModel message)
2024-02-23 01:53:00 +00:00
=> Task.CompletedTask;
2023-11-14 01:25:25 +00:00
public virtual Task OnConversationInitialized(Conversation conversation)
2024-02-23 01:53:00 +00:00
=> Task.CompletedTask;
2023-11-27 21:00:26 +00:00
public virtual Task OnUserAgentConnectedInitially(Conversation conversation)
2024-02-23 01:53:00 +00:00
=> Task.CompletedTask;
2024-03-11 20:32:13 +00:00
public virtual Task OnMessageDeleted(string conversationId, string messageId)
=> Task.CompletedTask;
2024-03-24 13:56:21 +00:00
public virtual Task OnBreakpointUpdated(string conversationId, bool resetStates)
=> Task.CompletedTask;
2024-10-07 21:35:39 +00:00
public virtual Task OnNotificationGenerated(RoleDialogModel message)
=> Task.CompletedTask;
2023-07-19 22:30:23 +00:00
}