{"record":{"id":"5cd3cabd3d6aa1a5","repo":"HKUDS/DeepTutor","slug":"wechat-session-paused-remaining-min-min-remaini","errorCode":null,"errorMessage":"WeChat session paused, {remaining_min} min remaining (errcode {ERRCODE_SESSION_EXPIRED})","messagePattern":"WeChat session paused, (.+?) min remaining \\(errcode (.+?)\\)","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"deeptutor/partners/channels/weixin.py","lineNumber":535,"sourceCode":"    # ------------------------------------------------------------------\n\n    def _pause_session(self, duration_s: int = SESSION_PAUSE_DURATION_S) -> None:\n        self._session_pause_until = time.time() + duration_s\n\n    def _session_pause_remaining_s(self) -> int:\n        remaining = int(self._session_pause_until - time.time())\n        if remaining <= 0:\n            self._session_pause_until = 0.0\n            return 0\n        return remaining\n\n    def _assert_session_active(self) -> None:\n        remaining = self._session_pause_remaining_s()\n        if remaining > 0:\n            remaining_min = max((remaining + 59) // 60, 1)\n            raise RuntimeError(\n                f\"WeChat session paused, {remaining_min} min remaining (errcode {ERRCODE_SESSION_EXPIRED})\"\n            )\n\n    async def _poll_once(self) -> None:\n        remaining = self._session_pause_remaining_s()\n        if remaining > 0:\n            await asyncio.sleep(remaining)\n            return\n\n        body: dict[str, Any] = {\n            \"get_updates_buf\": self._get_updates_buf,\n            \"base_info\": BASE_INFO,\n        }\n\n        # Adjust httpx timeout to match the current poll timeout\n        assert self._client is not None\n        self._client.timeout = httpx.Timeout(self._next_poll_timeout_s + 10, connect=30)\n\n        data = await self._api_post(\"ilink/bot/getupdates\", body)\n","sourceCodeStart":517,"sourceCodeEnd":553,"githubUrl":"https://github.com/HKUDS/DeepTutor/blob/3e82f130422a813cdd73c10b21a44e9325f5821a/deeptutor/partners/channels/weixin.py#L517-L553","documentation":"Error \"WeChat session paused, {remaining_min} min remaining (errcode {ERRCODE_SESSION_EXPIRED})\" thrown in HKUDS/DeepTutor.","triggerScenarios":"Thrown at deeptutor/partners/channels/weixin.py:535 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3e82f130422a813cdd73c10b21a44e9325f5821a","analyzedAt":"2026-08-27T06:57:25.364Z","schemaVersion":2},"datasetVersion":"2026-08-27T08:17:20.692Z"}