From 9b399854bc30e15c828bb5e23e4bba4ca970fa83 Mon Sep 17 00:00:00 2001 From: GummiGu Date: Thu, 7 Nov 2024 22:43:55 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E5=AF=BC=E5=85=A5=E5=8C=BA=E7=9A=84=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/README.md | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/plugins/README.md b/plugins/README.md index 2a4461573..d3757e036 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -184,19 +184,35 @@ ``` plugins/ -└── hello +└── plugin_name.py ├── __init__.py + ├── plugin_name.py └── hello.py ``` ``__init__.py``的内容: + ``` -from .hello import * +from .plugin_name import * ``` +导入区规范: + +```python +[plugin_name.py] + +import plugins.plugin_name.hello (✅) +from .hello import * (✅) +import hello(❌)# not found for the module 'plugins.plugin_name.hello' + +import plugins.plugin_name.hello as hello #建议这样 +``` + + + ### 2. 编写插件类 -在`hello.py`文件中,创建插件类,它继承自`Plugin`。 +在`plugin_name`文件中,创建插件类,它继承自`Plugin`。 在类定义之前需要使用`@plugins.register`装饰器注册插件,并填写插件的相关信息,其中`desire_priority`表示插件默认的优先级,越大优先级越高。初次加载插件后可在`plugins/plugins.json`中修改插件优先级。 @@ -208,7 +224,7 @@ PS: `ON_HANDLE_CONTEXT`是最常用的事件,如果要根据不同的消息来 ```python @plugins.register(name="Hello", desc="A simple plugin that says hello", version="0.1", author="lanvent", desire_priority= -1) -class Hello(Plugin): +class Plugin_name(Plugin): def __init__(self): super().__init__() self.handlers[Event.ON_HANDLE_CONTEXT] = self.on_handle_context From da06f9c16fbf3994a11612e2fe24b37533fb5545 Mon Sep 17 00:00:00 2001 From: GummiGu Date: Thu, 14 Nov 2024 23:50:17 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E5=AF=BC=E5=85=A5=E5=8C=BA=E7=9A=84=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/README.md | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/plugins/README.md b/plugins/README.md index d3757e036..e83535607 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -176,43 +176,45 @@ ## 插件编写示例 -以`plugins/hello`为例,其中编写了一个简单的`Hello`插件。 +以`plugins/hello`为例,其中编写了一个简单的`Hello`插件。`hello`即为插件的名称,需要自行替换为自己的插件名字。 ### 1. 创建插件 在`plugins`目录下创建一个插件文件夹`hello`。然后,在该文件夹中创建``__init__.py``文件,在``__init__.py``中将其他编写的模块文件导入。在程序启动时,插件管理器会读取``__init__.py``的所有内容。 + + ``` plugins/ -└── plugin_name.py +└── hello ├── __init__.py - ├── plugin_name.py - └── hello.py + ├── hello.py + └── tool.py ``` ``__init__.py``的内容: ``` -from .plugin_name import * +from .hello import * ``` 导入区规范: ```python -[plugin_name.py] +[hello.py] -import plugins.plugin_name.hello (✅) -from .hello import * (✅) -import hello(❌)# not found for the module 'plugins.plugin_name.hello' +import plugins.hello.tool (✅) +from .tool import * (✅) +import tool(❌)# not found for the module 'plugins.hello.tool' -import plugins.plugin_name.hello as hello #建议这样 +import plugins.hello.tool as tool #建议这样 ``` ### 2. 编写插件类 -在`plugin_name`文件中,创建插件类,它继承自`Plugin`。 +在`hello`文件中,创建插件类,它继承自`Plugin`。 在类定义之前需要使用`@plugins.register`装饰器注册插件,并填写插件的相关信息,其中`desire_priority`表示插件默认的优先级,越大优先级越高。初次加载插件后可在`plugins/plugins.json`中修改插件优先级。 From 32542a7f13a01cd0c10a343dd64c6de4a19109f6 Mon Sep 17 00:00:00 2001 From: GummiGu Date: Thu, 14 Nov 2024 23:54:35 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E5=AF=BC=E5=85=A5=E5=8C=BA=E7=9A=84=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/README.md b/plugins/README.md index e83535607..64bf1786a 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -214,7 +214,7 @@ import plugins.hello.tool as tool #建议这样 ### 2. 编写插件类 -在`hello`文件中,创建插件类,它继承自`Plugin`。 +在`hello`.py文件中,创建插件类,它继承自`Plugin`。 在类定义之前需要使用`@plugins.register`装饰器注册插件,并填写插件的相关信息,其中`desire_priority`表示插件默认的优先级,越大优先级越高。初次加载插件后可在`plugins/plugins.json`中修改插件优先级。 @@ -226,7 +226,7 @@ PS: `ON_HANDLE_CONTEXT`是最常用的事件,如果要根据不同的消息来 ```python @plugins.register(name="Hello", desc="A simple plugin that says hello", version="0.1", author="lanvent", desire_priority= -1) -class Plugin_name(Plugin): +class Hello(Plugin): def __init__(self): super().__init__() self.handlers[Event.ON_HANDLE_CONTEXT] = self.on_handle_context From d3eeea1d563c02bebe928495fae64e9ff12e92ea Mon Sep 17 00:00:00 2001 From: GummiGu Date: Thu, 14 Nov 2024 23:56:19 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E5=AF=BC=E5=85=A5=E5=8C=BA=E7=9A=84=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/README.md b/plugins/README.md index 64bf1786a..56b0b5649 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -214,7 +214,7 @@ import plugins.hello.tool as tool #建议这样 ### 2. 编写插件类 -在`hello`.py文件中,创建插件类,它继承自`Plugin`。 +在`hello.py`文件中,创建插件类,它继承自`Plugin`。 在类定义之前需要使用`@plugins.register`装饰器注册插件,并填写插件的相关信息,其中`desire_priority`表示插件默认的优先级,越大优先级越高。初次加载插件后可在`plugins/plugins.json`中修改插件优先级。