调整ai_auto_response为非阻断模式
变更项: 1. 修改 ai_auto_response.process_message 的返回策略。 2. 消息入队成功时由 processed=True 改为 processed=False,避免截断后续插件链。 3. 队列满时同样不阻断,让其他插件继续处理消息。
This commit is contained in:
@@ -216,7 +216,8 @@ class AIAutoResponsePlugin(MessagePluginInterface):
|
|||||||
sender=sender,
|
sender=sender,
|
||||||
queue_size=self.message_queue.qsize(),
|
queue_size=self.message_queue.qsize(),
|
||||||
)
|
)
|
||||||
return True, "queued"
|
# 非阻断模式:放入异步队列后,不拦截后续插件执行
|
||||||
|
return False, "queued"
|
||||||
except asyncio.QueueFull:
|
except asyncio.QueueFull:
|
||||||
self._log_event(
|
self._log_event(
|
||||||
"drop",
|
"drop",
|
||||||
@@ -225,7 +226,8 @@ class AIAutoResponsePlugin(MessagePluginInterface):
|
|||||||
reason="queue_full",
|
reason="queue_full",
|
||||||
queue_maxsize=self.queue_maxsize,
|
queue_maxsize=self.queue_maxsize,
|
||||||
)
|
)
|
||||||
return True, "queue_full"
|
# 队列满也不阻断后续插件,让其他插件继续尝试处理
|
||||||
|
return False, "queue_full"
|
||||||
|
|
||||||
async def _process_message_impl(self, message: Dict[str, Any]) -> Tuple[bool, Optional[str]]:
|
async def _process_message_impl(self, message: Dict[str, Any]) -> Tuple[bool, Optional[str]]:
|
||||||
room_id = message.get("roomid", "")
|
room_id = message.get("roomid", "")
|
||||||
|
|||||||
Reference in New Issue
Block a user