SeaCogs/aurora/abc.py
SeaswimmerTheFsh 0bf6143bf3
Some checks failed
Actions / Lint Code (Pylint) (pull_request) Failing after 15s
Actions / Build Documentation (MkDocs) (pull_request) Successful in 11s
fix(aurora): fixing some stuff relating to embed generation
2024-01-16 11:24:39 +00:00

61 lines
1.8 KiB
Python

from abc import ABC, abstractmethod
from redbot.core import commands
from redbot.core.bot import Red
from .utilities.config import config
class CompositeMetaClass(type(commands.Cog), type(ABC)):
"""
This allows the metaclass used for proper type detection to
coexist with discord.py's metaclass
"""
class Mixin(ABC):
"""
Base class for well behaved type hint detection with composite class.
Basically, to keep developers sane when not all attributes are defined in each mixin.
"""
def __init__(self, *_args):
super().__init__()
self.config: config
self.bot: Red
#######################################################################
# configuration/commands.py #
#######################################################################
@abstractmethod
async def aurora(self, ctx: commands.Context) -> None:
raise NotImplementedError()
@abstractmethod
async def aurora_settings(self, ctx: commands.Context) -> None:
raise NotImplementedError()
@abstractmethod
async def aurora_settings_overrides(self, ctx: commands.Context) -> None:
raise NotImplementedError()
@abstractmethod
async def aurora_settings_addrole(self, ctx: commands.Context) -> None:
raise NotImplementedError()
@abstractmethod
async def aurora_settings_immunity(self, ctx: commands.Context) -> None:
raise NotImplementedError()
@abstractmethod
async def aurora_import(self, ctx: commands.Context) -> None:
raise NotImplementedError()
@abstractmethod
async def aurora_import_aurora(self, ctx: commands.Context) -> None:
raise NotImplementedError()
@abstractmethod
async def aurora_import_galacticbot(self, ctx: commands.Context) -> None:
raise NotImplementedError()