调整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,
|
||||
queue_size=self.message_queue.qsize(),
|
||||
)
|
||||
return True, "queued"
|
||||
# 非阻断模式:放入异步队列后,不拦截后续插件执行
|
||||
return False, "queued"
|
||||
except asyncio.QueueFull:
|
||||
self._log_event(
|
||||
"drop",
|
||||
@@ -225,7 +226,8 @@ class AIAutoResponsePlugin(MessagePluginInterface):
|
||||
reason="queue_full",
|
||||
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]]:
|
||||
room_id = message.get("roomid", "")
|
||||
|
||||
Reference in New Issue
Block a user