From 0b7d9fb5eb376d2af52e30c6c09d236f8b303679 Mon Sep 17 00:00:00 2001 From: RF-Tar-Railt <3165388245@qq.com> Date: Thu, 1 Jun 2023 16:55:19 +0800 Subject: [PATCH] :arrow_up: version 0.7.0 support nb2 plugin metadata --- README.md | 1 + docs.md | 2 +- pdm.lock | 32 +++++++++++++------------- pyproject.toml | 5 ++-- src/nonebot_plugin_alconna/__init__.py | 31 +++++++++++++++++++------ src/nonebot_plugin_alconna/matcher.py | 4 ++-- 6 files changed, 47 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 930082d..d007589 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ QQ 交流群: [链接](https://jq.qq.com/?_wv=1027&k=PUPOnCSH) ## 使用方法 +Nonebot文档: [📖这里](https://nonebot.dev/docs/advanced/matcher#alconna) 详细介绍: [📦这里](/docs.md) ### 消息解析 diff --git a/docs.md b/docs.md index dd30ffe..20f7dec 100644 --- a/docs.md +++ b/docs.md @@ -57,7 +57,7 @@ def on_alconna( ): ``` -- `command`: Alconna 命令 +- `command`: Alconna 命令或字符串,字符串将通过 `AlconnaFormat` 转换为 Alconna 命令 - `skip_for_unmatch`: 是否在命令不匹配时跳过该响应 - `auto_send_output`: 是否自动发送输出信息并跳过响应 - `output_converter`: 输出信息字符串转换为 Message 方法 diff --git a/pdm.lock b/pdm.lock index 96ca245..24da54e 100644 --- a/pdm.lock +++ b/pdm.lock @@ -30,12 +30,12 @@ dependencies = [ [[package]] name = "arclet-alconna-tools" -version = "0.6.0" +version = "0.6.1" requires_python = ">=3.8" summary = "Builtin Tools for Alconna" dependencies = [ - "arclet-alconna>=1.7.0", - "nepattern<0.6.0,>=0.5.0", + "arclet-alconna>=1.7.7", + "nepattern<0.6.0,>=0.5.8", ] [[package]] @@ -244,7 +244,7 @@ dependencies = [ [[package]] name = "nonebot-adapter-telegram" -version = "0.1.0b12" +version = "0.1.0b13" requires_python = ">=3.8,<4.0" summary = "Telegram Adapter for NoneBot2" dependencies = [ @@ -254,11 +254,11 @@ dependencies = [ [[package]] name = "nonebot2" -version = "2.0.0rc4" +version = "2.0.0" requires_python = ">=3.8,<4.0" summary = "An asynchronous python bot framework." dependencies = [ - "loguru<0.7.0,>=0.6.0", + "loguru<1.0.0,>=0.6.0", "pydantic[dotenv]<2.0.0,>=1.10.0", "pygtrie<3.0.0,>=2.4.1", "tomli<3.0.0,>=2.0.1; python_version < \"3.11\"", @@ -411,7 +411,7 @@ summary = "Backport of pathlib-compatible object wrapper for zip files" [metadata] lock_version = "4.2" groups = ["default", "dev"] -content_hash = "sha256:51810d842851579d7ddef8b5f9abd43bbde95ef27968b8ef45824c55efeda3df" +content_hash = "sha256:b636a6eb673242071eaa6585ddd0a8f279a1eb2aad0da497fd09ad6c533c0c14" [metadata.files] "aio-mc-rcon 3.2.0" = [ @@ -426,9 +426,9 @@ content_hash = "sha256:51810d842851579d7ddef8b5f9abd43bbde95ef27968b8ef45824c55e {url = "https://files.pythonhosted.org/packages/87/f3/ee4aa593a5e12ade6ebe033ca67a66ffa35a57f93e4efd6d460e29129770/arclet_alconna-1.7.7-py3-none-any.whl", hash = "sha256:46f39cacdf85993ca86e88842b697880a6e4662d40b2c05ccb2909ac39cb0320"}, {url = "https://files.pythonhosted.org/packages/e0/ee/4d384f1111db814cd91084969f5761e98a6971d33cb6bb6b89995d1bea40/arclet-alconna-1.7.7.tar.gz", hash = "sha256:86c4a6297b005f2ca817e03c02430c2b7da241c856645db56b61a91baa8b14ff"}, ] -"arclet-alconna-tools 0.6.0" = [ - {url = "https://files.pythonhosted.org/packages/b0/ed/ad6307e2fc0d136f84764cdb490a3fd6148f0221d4465308ea0db6338d23/arclet_alconna_tools-0.6.0-py3-none-any.whl", hash = "sha256:bedbe7c35d41d0e9daba37cf5fbff01e8ac16625a6d48566aacd9f64a07eb5dc"}, - {url = "https://files.pythonhosted.org/packages/b9/1b/e27ada44b40f39d05a76ffc4a83e1fa28e3e52287262a03a3c79516c2f91/arclet-alconna-tools-0.6.0.tar.gz", hash = "sha256:1fcfc25b92fc70091095aecf2775f9192cbf60e605a4904e66f2c48d61e6dd73"}, +"arclet-alconna-tools 0.6.1" = [ + {url = "https://files.pythonhosted.org/packages/94/fd/f576afeab4c890fb1db9311059000406cad140034e5fe1cdfb2195fa2321/arclet-alconna-tools-0.6.1.tar.gz", hash = "sha256:7808b638dd5264c4adc98f35a8b4021196c09f4ea95cd036261a2b7d079f7bde"}, + {url = "https://files.pythonhosted.org/packages/a0/e9/f2ff6c6e20623da3c675aa1f242108737a83604030001ecdc5707aa95cd7/arclet_alconna_tools-0.6.1-py3-none-any.whl", hash = "sha256:cc46fe361c15f2728c189b5d39db8178ea5e138d5084e3fd705762d1ac722c1b"}, ] "cashews 6.1.0" = [ {url = "https://files.pythonhosted.org/packages/75/95/31bfab07df941d902edad8b3628500147aeef1e1cc4c3a3a18f524cf26af/cashews-6.1.0-py3-none-any.whl", hash = "sha256:bd620e5fdb947949aca0f107f0275a48d46026c747695186d2507f89a48d1af9"}, @@ -648,13 +648,13 @@ content_hash = "sha256:51810d842851579d7ddef8b5f9abd43bbde95ef27968b8ef45824c55e {url = "https://files.pythonhosted.org/packages/0c/23/81753fc0b663ba6c0916d2d30c95108de57b5293f986f6870a9d15ee658c/nonebot_adapter_qqguild-0.2.2.tar.gz", hash = "sha256:a428dda064f4501c285ea7fb51f81fc17e25dca2c2a82edaf1aa34454e28f1b8"}, {url = "https://files.pythonhosted.org/packages/e2/79/1c48262c040ff67a42e9b7671563f9e39e2e262ef79dc8c4e9e2cbcee413/nonebot_adapter_qqguild-0.2.2-py3-none-any.whl", hash = "sha256:b47cf5793d2aeed53e3d0bd9f0fbd371ce4155e4fb3be48e15e0abe64228ee24"}, ] -"nonebot-adapter-telegram 0.1.0b12" = [ - {url = "https://files.pythonhosted.org/packages/45/07/d4995b0497b460a19e300e7d52ae5c6640a0496039acc00eee6eed953a2d/nonebot_adapter_telegram-0.1.0b12-py3-none-any.whl", hash = "sha256:3431b98fadbf0e821872bc40e63fcdaf96ee2f9ca9a1261099067f8c84f652e6"}, - {url = "https://files.pythonhosted.org/packages/82/83/8bce4b69791fad05cf255c3aa2bd683cf67df3e795bad017962f36a62ff4/nonebot-adapter-telegram-0.1.0b12.tar.gz", hash = "sha256:3f11ce6b10c75969ec2c089e7a1379c640122019e81e7aa6c6a6cdb17efece7f"}, +"nonebot-adapter-telegram 0.1.0b13" = [ + {url = "https://files.pythonhosted.org/packages/1f/67/e678aed9ecdb95bc0de4b4b65f75fcb8fb9f0c08cdf9954071ed909ad0e3/nonebot-adapter-telegram-0.1.0b13.tar.gz", hash = "sha256:45d679a0d08a71e1b2f9758c02b545b1e28e711331a963a83574c5297d20ce2a"}, + {url = "https://files.pythonhosted.org/packages/4e/f3/0cfecc98994f2df6573544f31fcddccfa1f19a62121b782cb7dfbc7bf076/nonebot_adapter_telegram-0.1.0b13-py3-none-any.whl", hash = "sha256:d709d0181601aaa32dff4fda26fb9853a12344fcaf5433dbc0e5ea694886493d"}, ] -"nonebot2 2.0.0rc4" = [ - {url = "https://files.pythonhosted.org/packages/65/54/d23c32d571eeae0330e222b072efe6aa6384a3f8a4f40ce6768992446547/nonebot2-2.0.0rc4-py3-none-any.whl", hash = "sha256:dba33955e07f962d4fc0d3841b1d5d20ed00b8eb4189f0ac608b07e193148a3b"}, - {url = "https://files.pythonhosted.org/packages/84/1e/f0aa87695d505f35bc36756f01ab4b2a8f8544a5b004dc53219de179ff5f/nonebot2-2.0.0rc4.tar.gz", hash = "sha256:572ab5a2678155dca93ec27695a51b1c8b3ad43c3329a360e67ce11c6dd01c7d"}, +"nonebot2 2.0.0" = [ + {url = "https://files.pythonhosted.org/packages/69/60/2c0d414ff1dd015848f28a7f63181d45838a91d406af8f8bbc595185561b/nonebot2-2.0.0.tar.gz", hash = "sha256:144c175ce100c3300d53475fc47b7a9f0a6545861ff12bdc8a1442ab12d430df"}, + {url = "https://files.pythonhosted.org/packages/73/7b/a27cae287908fd5bebe70bd5291667b1922c0136c26c16adeadf7db32513/nonebot2-2.0.0-py3-none-any.whl", hash = "sha256:a3b0caedd52033a11f1d7c24875c3b89513a4b5014f703e0bb266e2e39a0bd30"}, ] "pycryptodome 3.16.0" = [ {url = "https://files.pythonhosted.org/packages/01/af/58c0afa501dafc4c4235fedc436e2b0a5d1b59f09e79e606a91743a83b14/pycryptodome-3.16.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:5df582f2112dd72331de7e567837e136a9629181a8ab69ef8949e4bc294a0b99"}, diff --git a/pyproject.toml b/pyproject.toml index 2272bc0..fb98c86 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "nonebot-plugin-alconna" -version = "0.6.1" +version = "0.7.0" description = "Alconna Adapter for Nonebot" authors = [ {name = "RF-Tar-Railt", email = "rf_tar_railt@qq.com"}, @@ -8,7 +8,7 @@ authors = [ dependencies = [ "nonebot2>=2.0.0rc4", "arclet-alconna<2.0.0, >=1.7.7", - "arclet-alconna-tools<0.7.0, >=0.6.0", + "arclet-alconna-tools<0.7.0, >=0.6.1", ] requires-python = ">=3.8" readme = "README.md" @@ -30,6 +30,7 @@ build-backend = "pdm.pep517.api" [tool.pdm] [tool.pdm.dev-dependencies] dev = [ + "nonebot2>=2.0.0", "fix-future-annotations>=0.5.0", "nonebot-adapter-onebot>=2.2.3", "nonebot-adapter-feishu>=2.0.0b8", diff --git a/src/nonebot_plugin_alconna/__init__.py b/src/nonebot_plugin_alconna/__init__.py index 61e229f..0575cb0 100644 --- a/src/nonebot_plugin_alconna/__init__.py +++ b/src/nonebot_plugin_alconna/__init__.py @@ -1,3 +1,4 @@ +from nonebot import __version__ as nonebot_version from nonebot.plugin import PluginMetadata from .argv import MessageArgv as MessageArgv @@ -19,13 +20,29 @@ from .params import match_value as match_value from .rule import alconna as alconna from .rule import set_output_converter as set_output_converter +from .config import Config -__plugin_meta__ = PluginMetadata( - name="Alconna 插件", - description="提供 [Alconna](https://github.com/ArcletProject/Alconna) 的 Nonebot2 适配版本与工具", - usage="matcher = on_alconna(...)", - extra={ +__version__ = "0.7.0" + +_meta_source = { + "name": "Alconna 插件", + "description": "提供 [Alconna](https://github.com/ArcletProject/Alconna) 的 Nonebot2 适配版本与工具", + "usage": "matcher = on_alconna(...)", + "homepage": "https://github.com/ArcletProject/Alconna", + "type": "library", + "config": Config, + "extra": { "author": "RF-Tar-Railt", - 'priority': 16, + "priority": 1, + "version": __version__, } -) \ No newline at end of file +} + + +if not nonebot_version.split(".")[-1].isdigit(): + _meta_source["extra"]["homepage"] = _meta_source.pop("homepage") + _meta_source["extra"]["type"] = _meta_source.pop("type") + _meta_source["extra"]["config"] = _meta_source.pop("config") + + +__plugin_meta__ = PluginMetadata(**_meta_source) diff --git a/src/nonebot_plugin_alconna/matcher.py b/src/nonebot_plugin_alconna/matcher.py index b309d4f..fb0c231 100644 --- a/src/nonebot_plugin_alconna/matcher.py +++ b/src/nonebot_plugin_alconna/matcher.py @@ -1,7 +1,7 @@ from __future__ import annotations from arclet.alconna import Alconna, command_manager -from arclet.alconna.tools import AlconnaString +from arclet.alconna.tools import AlconnaFormat from nonebot.matcher import Matcher from nonebot.plugin.on import on_message from nonebot.rule import Rule @@ -43,7 +43,7 @@ def on_alconna( state: 默认 state """ if isinstance(command, str): - command = AlconnaString(command) + command = AlconnaFormat(command) if aliases and command.command: command_manager.delete(command) aliases.add(str(command.command))