TheFinalBuddy / directives.py
hotboxxgenn's picture
Upload 9 files
c0938f5 verified
from utils.context import load_context, save_context
class BuddyPersonality:
def __init__(self):
self.ctx = load_context()
self.defaults = {"name":"Buddy","tone":"friendly","verbosity":"medium"}
self.ctx.setdefault("buddy", {})
for k,v in self.defaults.items():
self.ctx["buddy"].setdefault(k, v)
save_context(self.ctx)
def get_name(self):
return self.ctx["buddy"].get("name", self.defaults["name"])
def set_name(self, name):
self.ctx["buddy"]["name"] = name
save_context(self.ctx)
def record_conversation(self, user_text, bot_text):
history = self.ctx.setdefault("history", [])
history.append({"user": user_text, "bot": bot_text})
short_count = sum(1 for h in history[-20:] if len(h["user"]) < 40)
if short_count > 10:
self.ctx["buddy"]["verbosity"] = "short"
save_context(self.ctx)
def summary(self):
return {"name": self.get_name(), "tone": self.ctx["buddy"].get("tone"), "verbosity": self.ctx["buddy"].get("verbosity")}