From 609bcc3a1f3c68a345c59c70693533649359c1b1 Mon Sep 17 00:00:00 2001 From: Tarrailt <3165388245@qq.com> Date: Sun, 22 Sep 2024 15:55:26 +0800 Subject: [PATCH] :bug: fix model_validator (#31) --- nonebot/adapters/satori/event.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/nonebot/adapters/satori/event.py b/nonebot/adapters/satori/event.py index 15ce713..d27f650 100644 --- a/nonebot/adapters/satori/event.py +++ b/nonebot/adapters/satori/event.py @@ -246,8 +246,9 @@ def get_message(self) -> Message: @model_validator(mode="before") def generate_message(cls, values): - values["_message"] = Message.from_satori_element(parse(values["message"]["content"])) - values["original_message"] = deepcopy(values["_message"]) + if isinstance(values, dict): + values["_message"] = Message.from_satori_element(parse(values["message"]["content"])) + values["original_message"] = deepcopy(values["_message"]) return values @property @@ -405,7 +406,8 @@ def get_session_id(self) -> str: @model_validator(mode="before") def generate_message(cls, values): - values["_message"] = Message.from_satori_element(parse(values["message"]["content"])) + if isinstance(values, dict): + values["_message"] = Message.from_satori_element(parse(values["message"]["content"])) return values @property @@ -526,11 +528,12 @@ def get_event_description(self) -> str: @model_validator(mode="before") def generate_message(cls, values): - cmd = values["argv"]["name"] - if values["argv"].get("arguments", []): - cmd += " ".join(values["argv"]["arguments"]) - values["_message"] = Message(cmd) - values["original_message"] = deepcopy(values["_message"]) + if isinstance(values, dict): + cmd = values["argv"]["name"] + if values["argv"].get("arguments", []): + cmd += " ".join(values["argv"]["arguments"]) + values["_message"] = Message(cmd) + values["original_message"] = deepcopy(values["_message"]) return values def convert(self): @@ -576,8 +579,9 @@ class InteractionCommandMessageEvent(InteractionCommandEvent): @model_validator(mode="before") def generate_message(cls, values): - values["_message"] = Message.from_satori_element(parse(values["message"]["content"])) - values["original_message"] = deepcopy(values["_message"]) + if isinstance(values, dict): + values["_message"] = Message.from_satori_element(parse(values["message"]["content"])) + values["original_message"] = deepcopy(values["_message"]) return values @override