HKUDS/nanobot · error · RuntimeError
napcat: action {action} failed status={status!r} retcode={re
Error message
napcat: action {action} failed status={status!r} retcode={retcode!r} What it means
Error "napcat: action {action} failed status={status!r} retcode={retcode!r}" thrown in HKUDS/nanobot.
Source
Thrown at nanobot/channels/napcat/runtime.py:510
action: str,
params: dict[str, Any],
timeout: float = _ACTION_TIMEOUT,
) -> dict[str, Any]:
if self._ws is None:
raise RuntimeError("napcat: not connected")
echo = uuid.uuid4().hex
loop = asyncio.get_running_loop()
fut: asyncio.Future[dict[str, Any]] = loop.create_future()
self._pending[echo] = fut
try:
await self._ws.send(
json.dumps({"action": action, "params": params, "echo": echo}, ensure_ascii=False)
)
resp = await asyncio.wait_for(fut, timeout=timeout)
status = resp.get("status")
retcode = resp.get("retcode")
if (status and status != "ok") or (retcode not in (None, 0)):
raise RuntimeError(
f"napcat: action {action} failed status={status!r} retcode={retcode!r}"
)
return resp
finally:
self._pending.pop(echo, None)
# ------------------------------------------------------------------
# Image download
# ------------------------------------------------------------------
async def _download_image(self, info: dict[str, Any]) -> str | None:
url = info.get("url")
if not isinstance(url, str):
return None
# logger.debug("napcat: downloading image from {}", url)
if self._http is None:
return None
ok, err = validate_url_target(url)View on GitHub (pinned to 42f37dc4c0)
When it happens
Trigger: Thrown at nanobot/channels/napcat/runtime.py:510 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of HKUDS/nanobot@42f37dc4c0 (2026-08-26).
Data as JSON: /api/errors/e90c72a6b6259c85.
Report an issue: GitHub.