diff --git a/.gitmodules b/.gitmodules index 562cc5e..d57273f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,9 @@ [submodule "src/data"] path = src/data url = https://git.thewisewolf.dev/HoloTech/psqlmapper.git +[submodule "src/modules/quotes"] + path = src/modules/quotes + url = git@thewisewolf.dev:Tuxieverse/mrtuxie-quotes-module.git +[submodule "src/modules/profiles"] + path = src/modules/profiles + url = git@thewisewolf.dev:HoloTech/profiles-plugin.git diff --git a/src/data b/src/data index cfdfe0e..334b5f5 160000 --- a/src/data +++ b/src/data @@ -1 +1 @@ -Subproject commit cfdfe0eb50034d54a08c8449e8a62a5b8854e259 +Subproject commit 334b5f58929c885daae31fd78bbdd630d04563e0 diff --git a/src/meta/LionBot.py b/src/meta/LionBot.py index 6e2a23f..14205ae 100644 --- a/src/meta/LionBot.py +++ b/src/meta/LionBot.py @@ -26,6 +26,7 @@ from .monitor import SystemMonitor, ComponentMonitor, StatusLevel, ComponentStat if TYPE_CHECKING: from core.cog import CoreCog + from modules.profiles.profiles.discord.cog import ProfilesCog logger = logging.getLogger(__name__) @@ -64,6 +65,10 @@ class LionBot(Bot): def core(self): return self.get_cog('CoreCog') + @property + def profiles(self): + return self.get_cog('ProfilesCog') + async def _monitor_status(self): if self.is_closed(): level = StatusLevel.ERRORED @@ -110,6 +115,10 @@ class LionBot(Bot): def get_cog(self, name: Literal['CoreCog']) -> 'CoreCog': ... + @overload + def get_cog(self, name: Literal['ProfilesCog']) -> 'ProfilesCog': + ... + @overload def get_cog(self, name: str) -> Optional[Cog]: ... diff --git a/src/meta/LionContext.py b/src/meta/LionContext.py index e1b21d8..7acd39f 100644 --- a/src/meta/LionContext.py +++ b/src/meta/LionContext.py @@ -9,6 +9,7 @@ from discord.ext.commands import Context if TYPE_CHECKING: from .LionBot import LionBot + from modules.profiles.profiles.data import UserProfile, Community logger = logging.getLogger(__name__) @@ -46,6 +47,8 @@ class LionContext(Context['LionBot']): Extends Context to add Lion-specific methods and attributes. Also adds several contextual wrapped utilities for simpler user during command invocation. """ + profile: 'UserProfile' + community: 'Community' def __repr__(self): parts = {} diff --git a/src/modules/__init__.py b/src/modules/__init__.py index 3f6887e..b283ca6 100644 --- a/src/modules/__init__.py +++ b/src/modules/__init__.py @@ -2,6 +2,8 @@ this_package = 'modules' active = [ '.sysadmin', + '.profiles', + '.quotes', ] diff --git a/src/modules/profiles b/src/modules/profiles new file mode 160000 index 0000000..5fa0df6 --- /dev/null +++ b/src/modules/profiles @@ -0,0 +1 @@ +Subproject commit 5fa0df66f5d2a8966e89d4085abc5dfc23b46791 diff --git a/src/modules/quotes b/src/modules/quotes new file mode 160000 index 0000000..d9fa5c4 --- /dev/null +++ b/src/modules/quotes @@ -0,0 +1 @@ +Subproject commit d9fa5c46836feb09277c06195854797c5b2aa587