Skip to content

Session data#

GPT Bot extends the basic session data with conversation-specific information:

@dataclass
class GPTSessionData:
"""Session data for GPT conversations"""
messages: List[Dict[str, Any]] = field(default_factory=list)
last_activity: int = field(default_factory=lambda: int(time.time()))
user_data: Dict[str, Any] = field(default_factory=dict)
context: Dict[str, Any] = field(default_factory=dict)

You can access and modify this data in your middleware BY:

def message_middleware(notification, content, messages, session_data):
 # Setting context variables
 if "variables" not in session_data.context:
 session_data.context["variables"] = {}

 session_data.context["variables"]["last_interaction"] = int(time.time())

 return {"message_content": content, "messages": messages}