Ruby-Cogs/appeals/abc.py
Valerie 477974d53c
Some checks are pending
Run pre-commit / Run pre-commit (push) Waiting to run
Upload 2 Cogs & Update README
2025-05-23 01:30:53 -04:00

30 lines
718 B
Python

import typing as t
from abc import ABC, ABCMeta, abstractmethod
import discord
from discord.ext.commands.cog import CogMeta
from piccolo.engine.sqlite import SQLiteEngine
from redbot.core.bot import Red
from .db.utils import DBUtils
class CompositeMetaClass(CogMeta, ABCMeta):
"""Type detection"""
class MixinMeta(ABC):
"""Type hinting"""
def __init__(self, *_args):
self.bot: Red
self.db: SQLiteEngine | None
self.db_utils: DBUtils
@abstractmethod
async def initialize(self) -> None:
raise NotImplementedError
@abstractmethod
async def conditions_met(self, guild: discord.Guild) -> t.Tuple[bool, t.Optional[str]]:
raise NotImplementedError