import os,json,datetime class BuddyMemory: def __init__(self,filename='memory.json'): self.filename=filename self.data=self._load() def _load(self): if os.path.exists(self.filename): try: return json.load(open(self.filename)) except: return {} return {} def save(self): json.dump(self.data, open(self.filename,'w'), indent=2) def set_pref(self,user,k,v): self.data.setdefault('users',{}).setdefault(user,{}).setdefault('prefs',{})[k]=v; self.save() def add_message(self,user,role,text,name=None): self.data.setdefault('users',{}).setdefault(user,{}).setdefault('conv',[]).append({'role':role,'text':text,'time':datetime.datetime.now().isoformat(),'name':name}) self.save() def get_conversation(self,user): return self.data.get('users',{}).get(user,{}).get('conv',[])