Skip to content

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};
});