Session Data#
GPT Bot extends the basic session data with conversation-specific information:
interface GPTSessionData {
/** Conversation history */
messages: ChatCompletionMessageParam[];
/** Last activity timestamp */
lastActivity: number;
/** User state data */
userData?: Record<string, any>;
/** Context for the current conversation */
context?: {
/** Tags or metadata for the conversation */
tags?: string[];
/** User context variables */
variables?: Record<string, any>;
};
}
You can access and modify this data in your middleware:
bot.addMessageMiddleware(async (message, content, messages, sessionData) => {
// Set context variables
if (!sessionData.context) {
sessionData.context = {variables: {}};
}
sessionData.context.variables.lastInteraction = new Date().toISOString();
return {messageContent: content, messages};
});