diff --git a/gateway/platforms/weixin.py b/gateway/platforms/weixin.py index 72b7d2a4df..3fd7174270 100644 --- a/gateway/platforms/weixin.py +++ b/gateway/platforms/weixin.py @@ -2030,7 +2030,9 @@ async def send_weixin_direct( live_adapter = _LIVE_ADAPTERS.get(resolved_token) send_session = getattr(live_adapter, '_send_session', None) - if live_adapter is not None and send_session is not None and not send_session.closed: + if (live_adapter is not None and send_session is not None + and not send_session.closed + and send_session._loop is asyncio.get_running_loop()): last_result: Optional[SendResult] = None cleaned = live_adapter.format_message(message) if cleaned: