[docs]classBaseClient(ABC):"""Base class all clients will inherit from."""__slots__=("logger","cache",)def__init__(self,debug:bool=False)->None:self.logger=LoggerAdapter(anmoku_logger,prefix=self.__class__.__name__)ifdebugisTrue:self.logger.setLevel(logging.DEBUG)super().__init__()
[docs]@abstractmethoddefget(self,resource:Type[ResourceGenericT],id:SnowflakeT)->ResourceGenericT:"""Get's the exact resource by id."""...
[docs]@abstractmethoddefsearch(self,resource:Type[SearchResourceGenericT],query:str)->SearchResult[SearchResourceGenericT]:"""Searches for the resource and returns a list of the results."""...