Skip to content

utils/notebook.js - Memoria Persistente v3

SACRO: la memoria del bot. Non modificare senza autorizzazione.

A cosa serve

  • Salva ogni messaggio in una Map indicizzata per chatId
  • Fornisce contesto conversazionale all'AI (getContext)
  • Backup rotativo ogni 5 minuti su disco
  • Max 10.000 messaggi per chat (mesi di storico)
  • Persistenza immediata: ogni messaggio triggera saveToDisk()

Struttura dati

{
  "chatId@c.us": [
    {"sender": "39333...", "senderName": "[USER] Marco", "body": "...", "timestamp": "..."},
    {"sender": "bot", "senderName": "[BOT] ISR", "body": "...", "timestamp": "..."}
  ]
}

Chi lo chiama

  • index.js per save() e getContext()
  • scheduler.js per cleanup
  • scripts/backup_notebook.sh per backup manuale

Cosa NON toccare

  • La funzione save() - ogni campo e necessario
  • Il prefisso [USER]/[BOT] nel senderName
  • Il timer di backup (5 minuti)
  • Il file data/notebook.json (SACRO)