Engine Managers

Configurable engine managers

To give more power to the developer, the engine do not assume or force what to use.

The engine has default manager implementations which are:

  1. Session manager -> implements ISessionManager
  2. Storage Manager -> implements IStorageManager
  3. Logger -> implements PywceLogger

Session Manager

As the name suggests, this handles all chatbot session or cache. The instance is available on HookArg object which you can access in any hook.

You can manage each user specific data any way you want.

Learn more about hooks in the Hooks Section

Storage Manager

This handles all chatbot template stages or conversational flow. The engine only understands EngineTemplate model.

This gives you ability to store or retrieve conversational flow in any format or source e.g database, json, api. It is only required that you transform your data into the EngineTemplate model for the needed template stage.

EngineTemplate is nothing more than a json object serialization of the support YAML templates

Logger

Mainly used in python environment to define a custom logger for internal engine logs during debugging.

Let's look at the common managers