Closed SerinaNya closed 8 months ago
使用 avilla-elizabeth 1.0.0a27 ( https://github.com/GraiaProject/Avilla/commit/9dda2663f40dbd7b95d54936e8650606d1942dc5 )
ERROR Exception: richuru.py:102 ╭───────────────────────────── Traceback (most recent call last) ──────────────────────────────╮ │ in <module>:1 │ │ ╭──────────────────────────── locals ────────────────────────────╮ │ │ │ import_module = <function import_module at 0x0000021C6166F1A0> │ │ │ │ sys = <module 'sys' (built-in)> │ │ │ ╰────────────────────────────────────────────────────────────────╯ │ │ │ │ D:\Datas\commspt-bot-avilla\commspt_bot_avilla\main.py:39 in main │ │ │ │ 36 │ │ │ │ 37 │ │ avilla.apply_protocols(ConsoleProtocol()) │ │ 38 │ else: │ │ ❱ 39 │ │ from avilla.elizabeth.protocol import ElizabethConfig, ElizabethProtocol │ │ 40 │ │ │ │ 41 │ │ config = ElizabethConfig(**S_.connection.model_dump()) │ │ 42 │ │ logger.info(f"Protocol connection config: {config}") │ │ │ │ ╭───────────────────────────────────────── locals ─────────────────────────────────────────╮ │ │ │ avilla = <avilla.core.application.Avilla object at 0x0000021C640DC770> │ │ │ │ broadcast = <graia.broadcast.Broadcast object at 0x0000021C634B5A60> │ │ │ │ module_info = ModuleInfo( │ │ │ │ │ │ │ │ │ module_finder=FileFinder('D:\\Datas\\commspt-bot-avilla\\commspt_bot_avil… │ │ │ │ │ name='simple_response', │ │ │ │ │ ispkg=False │ │ │ │ ) │ │ │ │ saya = <graia.saya.Saya object at 0x0000021C63A5FB00> │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ │ │ │ │ C:\Users\Xiao_Jin\AppData\Local\pypoetry\Cache\virtualenvs\commspt-bot-avilla-FLAIqaDu-py3.1 │ │ 2\Lib\site-packages\avilla\elizabeth\__init__.py:1 in <module> │ │ │ │ ❱ 1 from .protocol import ElizabethConfig as ElizabethConfig │ │ 2 from .protocol import ElizabethProtocol as ElizabethProtocol │ │ 3 │ │ │ │ ╭───────────────────────────────────────── locals ─────────────────────────────────────────╮ │ │ │ account = <module 'avilla.elizabeth.account' from │ │ │ │ 'C:\\Users\\Xiao_Jin\\AppData\\Local\\pypoetry\\Cache\\virtualenvs\\commsp… │ │ │ │ capability = <module 'avilla.elizabeth.capability' from │ │ │ │ 'C:\\Users\\Xiao_Jin\\AppData\\Local\\pypoetry\\Cache\\virtualenvs\\commsp… │ │ │ │ connection = <module 'avilla.elizabeth.connection' from │ │ │ │ 'C:\\Users\\Xiao_Jin\\AppData\\Local\\pypoetry\\Cache\\virtualenvs\\commsp… │ │ │ │ const = <module 'avilla.elizabeth.const' from │ │ │ │ 'C:\\Users\\Xiao_Jin\\AppData\\Local\\pypoetry\\Cache\\virtualenvs\\commsp… │ │ │ │ exception = <module 'avilla.elizabeth.exception' from │ │ │ │ 'C:\\Users\\Xiao_Jin\\AppData\\Local\\pypoetry\\Cache\\virtualenvs\\commsp… │ │ │ │ file = <module 'avilla.elizabeth.file' from │ │ │ │ 'C:\\Users\\Xiao_Jin\\AppData\\Local\\pypoetry\\Cache\\virtualenvs\\commsp… │ │ │ │ perform = <module 'avilla.elizabeth.perform' from │ │ │ │ 'C:\\Users\\Xiao_Jin\\AppData\\Local\\pypoetry\\Cache\\virtualenvs\\commsp… │ │ │ │ resource = <module 'avilla.elizabeth.resource' from │ │ │ │ 'C:\\Users\\Xiao_Jin\\AppData\\Local\\pypoetry\\Cache\\virtualenvs\\commsp… │ │ │ │ service = <module 'avilla.elizabeth.service' from │ │ │ │ 'C:\\Users\\Xiao_Jin\\AppData\\Local\\pypoetry\\Cache\\virtualenvs\\commsp… │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ │ │ │ │ C:\Users\Xiao_Jin\AppData\Local\pypoetry\Cache\virtualenvs\commspt-bot-avilla-FLAIqaDu-py3.1 │ │ 2\Lib\site-packages\avilla\elizabeth\protocol.py:51 in <module> │ │ │ │ 48 │ from avilla.elizabeth.perform.query import announcement, bot, file, friend, group │ │ noqa │ │ 49 │ │ 50 │ │ ❱ 51 _import_performs() │ │ 52 │ │ 53 │ │ 54 class ElizabethProtocol(BaseProtocol): │ │ │ │ ╭───────────────────────────────────────── locals ─────────────────────────────────────────╮ │ │ │ _import_performs = <function _import_performs at 0x0000021C66B0D9E0> │ │ │ │ annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) │ │ │ │ Avilla = <class 'avilla.core.application.Avilla'> │ │ │ │ BaseProtocol = <class 'avilla.core.protocol.BaseProtocol'> │ │ │ │ dataclass = <function dataclass at 0x0000021C63B35580> │ │ │ │ ElizabethConfig = <class 'avilla.elizabeth.protocol.ElizabethConfig'> │ │ │ │ ElizabethService = <class 'avilla.elizabeth.service.ElizabethService'> │ │ │ │ ElizabethWsClientNetworking = <class │ │ │ │ 'avilla.elizabeth.connection.ws_client.ElizabethWsClientN… │ │ │ │ field = <function field at 0x0000021C63AFBE20> │ │ │ │ merge = <function merge at 0x0000021C63FE0E00> │ │ │ │ ProtocolConfig = <class 'avilla.core.protocol.ProtocolConfig'> │ │ │ │ ref = <function ref at 0x0000021C63FE0D60> │ │ │ │ URL = <class 'yarl.URL'> │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ │ │ │ │ C:\Users\Xiao_Jin\AppData\Local\pypoetry\Cache\virtualenvs\commspt-bot-avilla-FLAIqaDu-py3.1 │ │ 2\Lib\site-packages\avilla\elizabeth\protocol.py:30 in _import_performs │ │ │ │ 27 def _import_performs(): # noqa: F401 │ │ 28 │ from avilla.elizabeth.perform import context, resource_fetch # noqa: F401 │ │ 29 │ from avilla.elizabeth.perform.action import contact # noqa: F401 │ │ ❱ 30 │ from avilla.elizabeth.perform.action import ( │ │ 31 │ │ activity, │ │ 32 │ │ announcement, │ │ 33 │ │ file, │ │ │ │ ╭───────────────────────────────────────── locals ─────────────────────────────────────────╮ │ │ │ contact = <module 'avilla.elizabeth.perform.action.contact' from │ │ │ │ 'C:\\Users\\Xiao_Jin\\AppData\\Local\\pypoetry\\Cache\\virtualenvs\\co… │ │ │ │ context = <module 'avilla.elizabeth.perform.context' from │ │ │ │ 'C:\\Users\\Xiao_Jin\\AppData\\Local\\pypoetry\\Cache\\virtualenvs\\co… │ │ │ │ resource_fetch = <module 'avilla.elizabeth.perform.resource_fetch' from │ │ │ │ 'C:\\Users\\Xiao_Jin\\AppData\\Local\\pypoetry\\Cache\\virtualenvs\\co… │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ │ │ │ │ C:\Users\Xiao_Jin\AppData\Local\pypoetry\Cache\virtualenvs\commspt-bot-avilla-FLAIqaDu-py3.1 │ │ 2\Lib\site-packages\avilla\elizabeth\perform\action\file.py:26 in <module> │ │ │ │ 23 │ from avilla.elizabeth.protocol import ElizabethProtocol # noqa │ │ 24 │ │ 25 │ │ ❱ 26 class ElizabethAnnouncementActionPerform((m := AccountCollector["ElizabethProtocol", │ │ "ElizabethAccount"]())._): │ │ 27 │ m.namespace = "avilla.protocol/elizabeth::action" │ │ 28 │ m.identify = "file" │ │ 29 │ │ │ │ ╭───────────────────────────────────────── locals ─────────────────────────────────────────╮ │ │ │ AccountCollector = <class 'avilla.core.ryanvk.collector.account.AccountCollector'> │ │ │ │ annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216) │ │ │ │ FileData = <class 'avilla.elizabeth.file.metadata.FileData'> │ │ │ │ FileDelete = <class 'avilla.elizabeth.file.capability.FileDelete'> │ │ │ │ FileDirectoryCreate = <class 'avilla.elizabeth.file.capability.FileDirectoryCreate'> │ │ │ │ FileMove = <class 'avilla.elizabeth.file.capability.FileMove'> │ │ │ │ FileRename = <class 'avilla.elizabeth.file.capability.FileRename'> │ │ │ │ FileUpload = <class 'avilla.elizabeth.file.capability.FileUpload'> │ │ │ │ io = <module 'io' (frozen)> │ │ │ │ m = <avilla.core.ryanvk.collector.account.AccountCollector object at │ │ │ │ 0x0000021C66BB67E0> │ │ │ │ Memcache = <class 'graia.amnesia.builtins.memcache.Memcache'> │ │ │ │ MemcacheService = <class 'graia.amnesia.builtins.memcache.MemcacheService'> │ │ │ │ os = <module 'os' (frozen)> │ │ │ │ Selector = <class 'avilla.core.selector.Selector'> │ │ │ │ timedelta = <class 'datetime.timedelta'> │ │ │ │ TYPE_CHECKING = False │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ │ │ │ │ C:\Users\Xiao_Jin\AppData\Local\pypoetry\Cache\virtualenvs\commspt-bot-avilla-FLAIqaDu-py3.1 │ │ 2\Lib\site-packages\avilla\elizabeth\perform\action\file.py:94 in │ │ ElizabethAnnouncementActionPerform │ │ │ │ 91 │ │ ) │ │ 92 │ │ return target.file(result["id"]) │ │ 93 │ │ │ ❱ 94 │ @m.entity(FileDelete.delete, target="land.group.file") │ │ 95 │ async def delete_file(self, target: Selector) -> None: │ │ 96 │ │ await self.account.connection.call( │ │ 97 │ │ │ "update", │ │ │ │ ╭───────────────────────────────────────── locals ─────────────────────────────────────────╮ │ │ │ create_directory = <function ElizabethAnnouncementActionPerform.create_directory at │ │ │ │ 0x0000021C66BEE340> │ │ │ │ get_file = <function ElizabethAnnouncementActionPerform.get_file at │ │ │ │ 0x0000021C66BED120> │ │ │ │ upload_file = <function ElizabethAnnouncementActionPerform.upload_file at │ │ │ │ 0x0000021C66BEE160> │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ │ │ │ │ C:\Users\Xiao_Jin\AppData\Local\pypoetry\Cache\virtualenvs\commspt-bot-avilla-FLAIqaDu-py3.1 │ │ 2\Lib\site-packages\graia\ryanvk\fn.py:116 in wrapper │ │ │ │ 113 │ │ │ │ │ │ collector, │ │ 114 │ │ │ │ │ │ scope, │ │ 115 │ │ │ │ │ │ entity, │ │ ❱ 116 │ │ │ │ │ │ fn_overload.get_params_layout(params, overload_settings), │ │ 117 │ │ │ │ │ ) │ │ 118 │ │ │ else: │ │ 119 │ │ │ │ artifact["record_tuple"] = (collector, entity) │ │ │ │ ╭───────────────────────────────────────── locals ─────────────────────────────────────────╮ │ │ │ artifact = { │ │ │ │ │ 'overload_enabled': True, │ │ │ │ │ 'overload_scopes': {'TargetOverload': {}}, │ │ │ │ │ 'record_tuple': None │ │ │ │ } │ │ │ │ collector = <avilla.core.ryanvk.collector.account.AccountCollector object at │ │ │ │ 0x0000021C66BB67E0> │ │ │ │ entity = <function ElizabethAnnouncementActionPerform.delete_file at │ │ │ │ 0x0000021C66BEE520> │ │ │ │ fn_overload = <avilla.core.ryanvk.overload.target.TargetOverload object at │ │ │ │ 0x0000021C66BCE300> │ │ │ │ overload_settings = {'target': 'land.group.file'} │ │ │ │ params = ['file'] │ │ │ │ scope = {} │ │ │ │ self = <graia.ryanvk.fn.Fn object at 0x0000021C66BCDE20> │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ │ │ │ │ C:\Users\Xiao_Jin\AppData\Local\pypoetry\Cache\virtualenvs\commspt-bot-avilla-FLAIqaDu-py3.1 │ │ 2\Lib\site-packages\graia\ryanvk\overload.py:29 in get_params_layout │ │ │ │ 26 │ │ return scopes[-1] │ │ 27 │ │ │ 28 │ def get_params_layout(self, params: list[str], args: dict[str, Any]) -> dict[str, │ │ Any]: │ │ ❱ 29 │ │ return {param: args[param] for param in params} │ │ 30 │ │ 31 │ │ 32 class SimpleOverload(FnOverload): │ │ │ │ ╭───────────────────────────────────────── locals ─────────────────────────────────────────╮ │ │ │ args = {'target': 'land.group.file'} │ │ │ │ params = ['file'] │ │ │ │ self = <avilla.core.ryanvk.overload.target.TargetOverload object at │ │ │ │ 0x0000021C66BCE300> │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ KeyError: 'file'
使用 avilla-elizabeth 1.0.0a27 ( https://github.com/GraiaProject/Avilla/commit/9dda2663f40dbd7b95d54936e8650606d1942dc5 )