diff --git a/src/Globals/global_class_alias.php b/src/Globals/global_class_alias.php index 0989cb1e..8bcbcdaa 100644 --- a/src/Globals/global_class_alias.php +++ b/src/Globals/global_class_alias.php @@ -15,6 +15,8 @@ ClassAliasHelper::addAlias(\ZM\Annotation\OneBot\BotEvent::class, 'BotEvent'); ClassAliasHelper::addAlias(\ZM\Annotation\OneBot\CommandArgument::class, 'CommandArgument'); ClassAliasHelper::addAlias(\ZM\Annotation\Closed::class, 'Closed'); ClassAliasHelper::addAlias(\ZM\Plugin\ZMPlugin::class, 'ZMPlugin'); +ClassAliasHelper::addAlias(\OneBot\V12\Object\OneBotEvent::class, 'OneBotEvent'); +ClassAliasHelper::addAlias(\ZM\Context\BotContext::class, 'BotContext'); // 下面是 OneBot 相关类的全局别称 ClassAliasHelper::addAlias(\OneBot\Driver\Event\WebSocket\WebSocketOpenEvent::class, 'WebSocketOpenEvent'); diff --git a/src/Globals/global_class_alias_helper.php b/src/Globals/global_class_alias_helper.php new file mode 100644 index 00000000..7a250c24 --- /dev/null +++ b/src/Globals/global_class_alias_helper.php @@ -0,0 +1,21 @@ + $c) { + $str .= "class_alias({$c['class']}::class, '{$a}');\n"; + } + file_put_contents(FRAMEWORK_ROOT_DIR . '/src/Globals/global_class_alias_helper.php', $str); + $this->info('生成成功'); + return Command::SUCCESS; + } +} diff --git a/src/ZM/Container/ClassAliasHelper.php b/src/ZM/Container/ClassAliasHelper.php index ea986dca..38911af5 100644 --- a/src/ZM/Container/ClassAliasHelper.php +++ b/src/ZM/Container/ClassAliasHelper.php @@ -73,4 +73,12 @@ class ClassAliasHelper { return self::$aliases[$alias]['class'] ?? $alias; } + + /** + * 获取所有别名定义信息 + */ + public static function getAllAlias(): array + { + return self::$aliases; + } } diff --git a/src/ZM/Plugin/OneBot12Adapter.php b/src/ZM/Plugin/OneBot12Adapter.php index 91c2e099..c7847a69 100644 --- a/src/ZM/Plugin/OneBot12Adapter.php +++ b/src/ZM/Plugin/OneBot12Adapter.php @@ -189,6 +189,7 @@ class OneBot12Adapter extends ZMPlugin // 绑定容器 container()->instance(OneBotEvent::class, $obj); container()->alias(OneBotEvent::class, 'bot.event'); + container()->bind(BotContext::class, function () { return bot(); }); // 调用 BotEvent 事件 $handler = new AnnotationHandler(BotEvent::class); @@ -215,10 +216,6 @@ class OneBot12Adapter extends ZMPlugin return $event->retcode === null || $event->retcode === $resp->retcode; }); $handler->handleAll($resp); - - $act = bot()->getEchoAction($resp->echo); - if ($act !== null) { - } } }