cleanup: remove dead server_memories code
The server_memories dict and its methods (get_server_memory,
set_server_memory) plus API endpoints (GET/POST /servers/{guild_id}/memory)
were never called by any bot logic, command, or frontend code.
All per-server state is stored as ServerConfig dataclass fields and
persisted via servers_config.json. The generic key-value store was an
unfinished scaffolding feature superseded by the dataclass approach.
This commit is contained in:
12
bot/api.py
12
bot/api.py
@@ -2216,18 +2216,6 @@ async def trigger_autonomous_tweet_for_server(guild_id: int):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
return {"status": "error", "message": f"Failed to trigger tweet sharing: {e}"}
|
return {"status": "error", "message": f"Failed to trigger tweet sharing: {e}"}
|
||||||
|
|
||||||
@app.get("/servers/{guild_id}/memory")
|
|
||||||
def get_server_memory(guild_id: int, key: str = None):
|
|
||||||
"""Get server-specific memory"""
|
|
||||||
memory = server_manager.get_server_memory(guild_id, key)
|
|
||||||
return {"guild_id": guild_id, "key": key, "memory": memory}
|
|
||||||
|
|
||||||
@app.post("/servers/{guild_id}/memory")
|
|
||||||
def set_server_memory(guild_id: int, key: str, value):
|
|
||||||
"""Set server-specific memory"""
|
|
||||||
server_manager.set_server_memory(guild_id, key, value)
|
|
||||||
return {"status": "ok", "message": f"Memory set for server {guild_id}"}
|
|
||||||
|
|
||||||
@app.post("/servers/repair")
|
@app.post("/servers/repair")
|
||||||
def repair_server_config():
|
def repair_server_config():
|
||||||
"""Repair corrupted server configuration"""
|
"""Repair corrupted server configuration"""
|
||||||
|
|||||||
@@ -76,7 +76,6 @@ class ServerManager:
|
|||||||
self.config_file = config_file
|
self.config_file = config_file
|
||||||
self.servers: Dict[int, ServerConfig] = {}
|
self.servers: Dict[int, ServerConfig] = {}
|
||||||
self.schedulers: Dict[int, AsyncIOScheduler] = {}
|
self.schedulers: Dict[int, AsyncIOScheduler] = {}
|
||||||
self.server_memories: Dict[int, Dict] = {}
|
|
||||||
self._wakeup_tasks: Dict[int, asyncio.Task] = {} # guild_id -> delayed wakeup task
|
self._wakeup_tasks: Dict[int, asyncio.Task] = {} # guild_id -> delayed wakeup task
|
||||||
self.load_config()
|
self.load_config()
|
||||||
|
|
||||||
@@ -89,7 +88,6 @@ class ServerManager:
|
|||||||
for guild_id_str, server_data in data.items():
|
for guild_id_str, server_data in data.items():
|
||||||
guild_id = int(guild_id_str)
|
guild_id = int(guild_id_str)
|
||||||
self.servers[guild_id] = ServerConfig.from_dict(server_data)
|
self.servers[guild_id] = ServerConfig.from_dict(server_data)
|
||||||
self.server_memories[guild_id] = {}
|
|
||||||
logger.info(f"Loaded config for server: {server_data['guild_name']} (ID: {guild_id})")
|
logger.info(f"Loaded config for server: {server_data['guild_name']} (ID: {guild_id})")
|
||||||
|
|
||||||
# After loading, check if we need to repair the config
|
# After loading, check if we need to repair the config
|
||||||
@@ -137,7 +135,6 @@ class ServerManager:
|
|||||||
conversation_detection_interval_minutes=3
|
conversation_detection_interval_minutes=3
|
||||||
)
|
)
|
||||||
self.servers[default_server.guild_id] = default_server
|
self.servers[default_server.guild_id] = default_server
|
||||||
self.server_memories[default_server.guild_id] = {}
|
|
||||||
self.save_config()
|
self.save_config()
|
||||||
logger.info("Created default server configuration")
|
logger.info("Created default server configuration")
|
||||||
|
|
||||||
@@ -183,7 +180,6 @@ class ServerManager:
|
|||||||
)
|
)
|
||||||
|
|
||||||
self.servers[guild_id] = server
|
self.servers[guild_id] = server
|
||||||
self.server_memories[guild_id] = {}
|
|
||||||
self.save_config()
|
self.save_config()
|
||||||
logger.info(f"Added new server: {guild_name} (ID: {guild_id})")
|
logger.info(f"Added new server: {guild_name} (ID: {guild_id})")
|
||||||
return True
|
return True
|
||||||
@@ -201,10 +197,6 @@ class ServerManager:
|
|||||||
self.schedulers[guild_id].shutdown()
|
self.schedulers[guild_id].shutdown()
|
||||||
del self.schedulers[guild_id]
|
del self.schedulers[guild_id]
|
||||||
|
|
||||||
# Remove memory
|
|
||||||
if guild_id in self.server_memories:
|
|
||||||
del self.server_memories[guild_id]
|
|
||||||
|
|
||||||
self.save_config()
|
self.save_config()
|
||||||
logger.info(f"Removed server: {server_name} (ID: {guild_id})")
|
logger.info(f"Removed server: {server_name} (ID: {guild_id})")
|
||||||
return True
|
return True
|
||||||
@@ -231,23 +223,6 @@ class ServerManager:
|
|||||||
logger.info(f"Updated config for server: {server.guild_name}")
|
logger.info(f"Updated config for server: {server.guild_name}")
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def get_server_memory(self, guild_id: int, key: str = None):
|
|
||||||
"""Get or set server-specific memory"""
|
|
||||||
if guild_id not in self.server_memories:
|
|
||||||
self.server_memories[guild_id] = {}
|
|
||||||
|
|
||||||
if key is None:
|
|
||||||
return self.server_memories[guild_id]
|
|
||||||
|
|
||||||
return self.server_memories[guild_id].get(key)
|
|
||||||
|
|
||||||
def set_server_memory(self, guild_id: int, key: str, value):
|
|
||||||
"""Set server-specific memory"""
|
|
||||||
if guild_id not in self.server_memories:
|
|
||||||
self.server_memories[guild_id] = {}
|
|
||||||
|
|
||||||
self.server_memories[guild_id][key] = value
|
|
||||||
|
|
||||||
# ========== Mood Management Methods ==========
|
# ========== Mood Management Methods ==========
|
||||||
def get_server_mood(self, guild_id: int) -> tuple[str, str]:
|
def get_server_mood(self, guild_id: int) -> tuple[str, str]:
|
||||||
"""Get current mood name and description for a server"""
|
"""Get current mood name and description for a server"""
|
||||||
|
|||||||
Reference in New Issue
Block a user