mirror of
https://github.com/zhamao-robot/zhamao-framework.git
synced 2026-07-21 15:45:36 +08:00
fix middleware args resolve conflict (#282)
This commit is contained in:
@@ -94,6 +94,9 @@ class MiddlewareHandler
|
||||
}
|
||||
}
|
||||
if ($return !== false) {
|
||||
// $args 传递数字索引可能会在部分情况下引发解析错误,应尽量避免
|
||||
// 并尽量避免传递已经绑定入容器的实例
|
||||
// TODO: 可能需要更好的解决方案
|
||||
$result = container()->call($callback, $args);
|
||||
}
|
||||
while (isset($this->stack[$stack_id]) && ($item = array_pop($this->stack[$stack_id])) !== null) {
|
||||
|
||||
@@ -75,9 +75,9 @@ class OneBot12Adapter extends ZMPlugin
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal 只允许内部使用
|
||||
* @param int $cid 协程 ID
|
||||
* @param OneBotEvent $event 事件对象
|
||||
* @internal 只允许内部使用
|
||||
*/
|
||||
public static function addContextPrompt(int $cid, OneBotEvent $event): void
|
||||
{
|
||||
@@ -85,8 +85,8 @@ class OneBot12Adapter extends ZMPlugin
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal 只允许内部使用
|
||||
* @param int $cid 协程 ID
|
||||
* @internal 只允许内部使用
|
||||
*/
|
||||
public static function removeContextPrompt(int $cid): void
|
||||
{
|
||||
@@ -94,8 +94,8 @@ class OneBot12Adapter extends ZMPlugin
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal 只允许内部使用
|
||||
* @param int $cid 协程 ID
|
||||
* @internal 只允许内部使用
|
||||
*/
|
||||
public static function isContextPromptExists(int $cid): bool
|
||||
{
|
||||
@@ -347,7 +347,7 @@ class OneBot12Adapter extends ZMPlugin
|
||||
&& ($event->detail_type === null || $event->detail_type === $obj->detail_type);
|
||||
});
|
||||
try {
|
||||
$handler->handleAll($obj);
|
||||
$handler->handleAll();
|
||||
} catch (WaitTimeoutException $e) {
|
||||
// 这里是处理 prompt() 下超时的情况的
|
||||
if ($e->getTimeoutPrompt() === null) {
|
||||
|
||||
Reference in New Issue
Block a user