from ..types import Message, Context, Command from .base import Injector __all__ = [ "Subcommand", ] class SubcommandInjector(Injector[Command]): async def inject(self, message: Message, context: Context) -> Command: subc = message.command.cache.get(SubcommandInjector.__name__, None) if subc is None: subc = message.command.get_subcommand() message.command.cache[SubcommandInjector.__name__] = subc return subc Subcommand = SubcommandInjector() # TODO Subcommand.Arg, .Args, .ArgList, .ArgListSplitOn, .ArgParse