diff --git a/packages/nonebot-adapter-feishu/nonebot/adapters/feishu/exception.py b/packages/nonebot-adapter-feishu/nonebot/adapters/feishu/exception.py new file mode 100644 index 00000000..791000af --- /dev/null +++ b/packages/nonebot-adapter-feishu/nonebot/adapters/feishu/exception.py @@ -0,0 +1,61 @@ +from typing import Optional + +from nonebot.exception import (AdapterException, ActionFailed as + BaseActionFailed, NetworkError as + BaseNetworkError, ApiNotAvailable as + BaseApiNotAvailable) + + +class FeishuAdapterException(AdapterException): + + def __init__(self): + super().__init__("feishu") + + +class ActionFailed(BaseActionFailed, FeishuAdapterException): + """ + :说明: + + API 请求返回错误信息。 + + :参数: + + * ``retcode: Optional[int]``: 错误码 + """ + + def __init__(self, **kwargs): + super().__init__() + self.info = kwargs + + def __repr__(self): + return f"" + + def __str__(self): + return self.__repr__() + + +class NetworkError(BaseNetworkError, FeishuAdapterException): + """ + :说明: + + 网络错误。 + + :参数: + + * ``retcode: Optional[int]``: 错误码 + """ + + def __init__(self, msg: Optional[str] = None): + super().__init__() + self.msg = msg + + def __repr__(self): + return f"" + + def __str__(self): + return self.__repr__() + + +class ApiNotAvailable(BaseApiNotAvailable, FeishuAdapterException): + pass