From 3bf7d221a0e0ffddeea233c458f6ffcb955f938a Mon Sep 17 00:00:00 2001 From: AllfatherHatt Date: Sat, 15 Mar 2025 18:12:57 +0100 Subject: [PATCH] Screw properties, direct injection baby! --- reginaldCog/memory.py | 8 ++------ reginaldCog/reginald.py | 12 ++++-------- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/reginaldCog/memory.py b/reginaldCog/memory.py index 4b5b4eb..c389860 100644 --- a/reginaldCog/memory.py +++ b/reginaldCog/memory.py @@ -11,12 +11,8 @@ from openai import OpenAIError class MemoryMixin: """Handles all memory-related functions for Reginald.""" - @property - def config(self): - """Dynamically fetches the config from the parent cog.""" - return self._config # This assumes `ReginaldCog` sets `self._config` - - def __init__(self): + def __init__(self, config: Config): + self.config = config # Now explicitly set self.short_term_memory_limit = 100 self.summary_retention_limit = 25 self.summary_retention_ratio = 0.8 diff --git a/reginaldCog/reginald.py b/reginaldCog/reginald.py index 8cb2150..456edd8 100644 --- a/reginaldCog/reginald.py +++ b/reginaldCog/reginald.py @@ -17,14 +17,7 @@ class ReginaldCog(commands.Cog, PermissionsMixin, BlacklistMixin, MemoryMixin): self.bot = bot self.config = Config.get_conf(self, identifier=71717171171717) - self._config = self.config # ✅ Ensure MemoryMixin sees this before calling super - - super().__init__() # ✅ Now it's safe to initialize parent classes - - self.default_listening_channel = 1085649787388428370 - self.memory_locks = {} - - # ✅ Properly Registered Configuration Keys + # Properly Registered Configuration Keys default_global = {"openai_model": "gpt-4o-mini"} default_guild = { "openai_api_key": None, @@ -39,6 +32,9 @@ class ReginaldCog(commands.Cog, PermissionsMixin, BlacklistMixin, MemoryMixin): self.config.register_global(**default_global) self.config.register_guild(**default_guild) + # Pass config explicitly to MemoryMixin + MemoryMixin.__init__(self, self.config) + async def is_admin(self, ctx): admin_role_id = await self.config.guild(ctx.guild).admin_role() if admin_role_id: