Add PostgreSQL memory system for persistent user and conversation storage

- Add PostgreSQL database with SQLAlchemy async support
- Create models: User, UserFact, UserPreference, Conversation, Message, Guild, GuildMember
- Add custom name support so bot knows 'who is who'
- Add user facts system for remembering things about users
- Add persistent conversation history that survives restarts
- Add memory commands cog (!setname, !remember, !whatdoyouknow, !forgetme)
- Add admin commands (!setusername, !teachbot)
- Set up Alembic for database migrations
- Update docker-compose with PostgreSQL service
- Gracefully falls back to in-memory storage when DB not configured
This commit is contained in:
2026-01-12 14:00:06 +01:00
parent 853e7c9fcd
commit e00d4fd501
20 changed files with 1623 additions and 13 deletions

View File

@@ -2,14 +2,22 @@
from .ai_service import AIService
from .conversation import ConversationManager
from .database import DatabaseService, db, get_db
from .persistent_conversation import PersistentConversationManager
from .providers import AIResponse, ImageAttachment, Message
from .searxng import SearXNGService
from .user_service import UserService
__all__ = [
"AIService",
"AIResponse",
"ConversationManager",
"DatabaseService",
"ImageAttachment",
"Message",
"ConversationManager",
"PersistentConversationManager",
"SearXNGService",
"UserService",
"db",
"get_db",
]