diff --git a/pybit/_helpers.py b/pybit/_helpers.py index 7ac6bab..5b44579 100644 --- a/pybit/_helpers.py +++ b/pybit/_helpers.py @@ -36,3 +36,17 @@ def make_public_kwargs(private_kwargs): public_kwargs.pop("api_key", "") public_kwargs.pop("api_secret", "") return public_kwargs + +def error_link(path, number): + if "spot" in path: + number = -1*number + return f" https://bybit-exchange.github.io/docs/spot/#{number}" + elif "account_asset" in path: # account asset + return f" https://bybit-exchange.github.io/docs/account_asset/#{number}", + elif "usdc" in path: # USDC + if "option" in path: # option + return f" https://bybit-exchange.github.io/docs/usdc/option/#{number}" + else: # perpetual + return f" https://bybit-exchange.github.io/docs/usdc/perpetual/#{number}" + else: # inverse perpetual, USDT perpetual, inverse futures + return f" https://bybit-exchange.github.io/docs/inverse/#{number}" \ No newline at end of file diff --git a/pybit/_http_manager.py b/pybit/_http_manager.py index 1014530..79ae9bc 100644 --- a/pybit/_http_manager.py +++ b/pybit/_http_manager.py @@ -383,9 +383,11 @@ def _submit_request(self, method=None, path=None, query=None, auth=False): pass else: + error_link = _helpers.error_link(path, s_json[ret_code]) + raise InvalidRequestError( request=f"{method} {path}: {req_params}", - message=s_json[ret_msg], + message=s_json[ret_msg] + error_link, status_code=s_json[ret_code], time=dt.utcnow().strftime("%H:%M:%S") )