diff --git a/src/Core/MessageHandler.php b/src/Core/MessageHandler.php index 17584beb..1c0c2f03 100644 --- a/src/Core/MessageHandler.php +++ b/src/Core/MessageHandler.php @@ -127,10 +127,9 @@ private function handleMessage($selector) if ($collection) { $this->cache($msg, $collection); $this->console($collection); - if ($this->handler) { + if (!$this->vbot->messageExtension->exec($collection) && $this->handler) { call_user_func_array($this->handler, [$collection]); } - $this->vbot->messageExtension->exec($collection); } } } diff --git a/src/Extension/MessageExtension.php b/src/Extension/MessageExtension.php index c85fd485..5274fcd5 100644 --- a/src/Extension/MessageExtension.php +++ b/src/Extension/MessageExtension.php @@ -90,12 +90,14 @@ private function initBaseExtensions() * 执行拓展. * * @param $collection + * + * @return bool */ public function exec($collection) { foreach ($this->serviceExtensions as $extension) { if ($extension->messageHandler($collection)) { - return; + return true; } } }