Source code for boticordpy.exceptions

from enum import IntEnum


[docs]class BoticordException(Exception): """Base exception class for boticordpy. This could be caught to handle any exceptions thrown from this library. """
[docs]class InternalException(BoticordException): """Exception that's thrown when an local operation operation fails. Attributes ---------- response: The meaning of the exception """ def __init__(self, response): super().__init__(response)
[docs]class HTTPException(BoticordException): """Exception that's thrown when request to BotiCord API operation fails. Attributes ---------- response: The response of the failed HTTP request. """ def __init__(self, response): self.response = response fmt = f"{HTTPErrors(self.response['error']).name} (Status code: {StatusCodes(self.response['status']).name})" super().__init__(fmt)
[docs]class MeilisearchException(BoticordException): """Exception that's thrown when request to Meilisearch API operation fails. Attributes ---------- response: The response of the failed HTTP request. """ def __init__(self, response): self.response = response fmt = f"{self.response['code']} ({self.response['message']})" super().__init__(fmt)
[docs]class StatusCodes(IntEnum): """Status codes of response""" SERVER_ERROR = 500 """Server Error (>500)""" TOO_MANY_REQUESTS = 429 """Too Many Requests""" NOT_FOUND = 404 """Requested resource was not found""" FORBIDDEN = 403 """You don't have access to this resource""" UNAUTHORIZED = 401 """Authorization is required to access this resource""" BAD_REQUEST = 400 """Bad Request"""
[docs]class HTTPErrors(IntEnum): """Errors which BotiCord may return""" UNKNOWN_ERROR = 0 """Unknown error""" INTERNAL_SERVER_ERROR = 1 """Server error (>500)""" RATE_LIMITED = 2 """Too many requests""" NOT_FOUND = 3 """Not found""" FORBIDDEN = 4 """Access denied""" BAD_REQUEST = 5 """Bad request""" UNAUTHORIZED = 6 """Unauthorized. Authorization required""" RPC_ERROR = 7 """Server error (RPC)""" WS_ERROR = 8 """Server error (WS)""" THIRD_PARTY_FAIL = 9 """Third-party service error""" UNKNOWN_USER = 10 """Unknown user""" SHORT_DOMAIN_TAKEN = 11 """Short link already taken""" UNKNOWN_SHORT_DOMAIN = 12 """Unknown short link""" UNKNOWN_LIBRARY = 13 """Unknown library""" TOKEN_INVALID = 14 """Invalid token""" UNKNOWN_RESOURCE = 15 """Unknown resource""" UNKNOWN_TAG = 16 """Unknown tag""" PERMISSION_DENIED = 17 """Insufficient permissions""" UNKNOWN_COMMENT = 18 """Unknown comment""" UNKNOWN_BOT = 19 """Unknown bot""" UNKNOWN_SERVER = 20 """Unknown server""" UNKNOWN_BADGE = 21 """Unknown badge""" USER_ALREADY_HAS_A_BADGE = 22 """User already has a badge""" INVALID_INVITE_CODE = 23 """Invalid invite code""" SERVER_ALREADY_EXISTS = 24 """Server already exists""" BOT_NOT_PRESENT_ON_QUEUE_SERVER = 25 """Bot not present on queue server""" UNKNOWN_UP = 26 """Unknown up""" TOO_MANY_UPS = 27 """Too many ups""" INVALID_STATUS = 28 """Invalid resource status""" UNKNOWN_REPORT = 29 """Unknown report""" UNSUPPORTED_MEDIA_TYPE = 30 """Unsupported media type. Should be one of""" UNKNOWN_APPLICATION = 31 """Unknown application""" AUTOMATED_REQUESTS_NOT_ALLOWED = 32 """Please confirm that you are not a robot by refreshing the page"""