From b3a796e7260d1da6e738315a2078ee4d5f559e95 Mon Sep 17 00:00:00 2001 From: yanyongyu Date: Tue, 8 Sep 2020 14:36:21 +0800 Subject: [PATCH] :bug: fix: key erro when command not found --- nonebot/rule.py | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/nonebot/rule.py b/nonebot/rule.py index a992e488..15dc1e6a 100644 --- a/nonebot/rule.py +++ b/nonebot/rule.py @@ -60,9 +60,15 @@ class TrieRule: def get_value(cls, bot: Bot, event: Event, state: dict) -> Tuple[Dict[str, Any], Dict[str, Any]]: if event.type != "message": - state["_prefix"] = {} - state["_suffix"] = {} - return {}, {} + state["_prefix"] = {"raw_command": None, "command": None} + state["_suffix"] = {"raw_command": None, "command": None} + return { + "raw_command": None, + "command": None + }, { + "raw_command": None, + "command": None + } prefix = None suffix = None @@ -77,19 +83,31 @@ class TrieRule: state["_prefix"] = { "raw_command": prefix.key, "command": prefix.value - } if prefix else {} + } if prefix else { + "raw_command": None, + "command": None + } state["_suffix"] = { "raw_command": suffix.key, "command": suffix.value - } if suffix else {} + } if suffix else { + "raw_command": None, + "command": None + } return ({ "raw_command": prefix.key, "command": prefix.value - } if prefix else {}, { + } if prefix else { + "raw_command": None, + "command": None + }, { "raw_command": suffix.key, "command": suffix.value - } if suffix else {}) + } if suffix else { + "raw_command": None, + "command": None + }) def startswith(msg: str) -> Rule: