mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-05-19 16:12:30 +00:00
When the iLink API returns ret=-2 (parameter error), it is often caused by an expired context_token rather than a malformed payload. After a gateway restart, the cached token can become stale within ~90 seconds if no new inbound message refreshes it, causing all outbound replies to fail silently. Changes: - _send_text: retry once without context_token when ret=-2 and a token was present; if the retry succeeds, clear the expired token from cache. - Remove leftover @staticmethod on _check_response_error so self.logger and the body parameter work correctly. - Bump WEIXIN_CHANNEL_VERSION from 2.1.1 -> 2.1.7 to match the reference openclaw-weixin plugin. - Add tests covering the ret=-2 retry path, failure path, and no-token path. References: - openclaw/openclaw#61174 (context_token expiry after long agent turns) - hermes-agent#21011 (ret=-2 rate limiting / parameter error)