diff --git a/pkg/pipeline/resprule/rules/prefix.py b/pkg/pipeline/resprule/rules/prefix.py index 99dcd4f9..98b50321 100644 --- a/pkg/pipeline/resprule/rules/prefix.py +++ b/pkg/pipeline/resprule/rules/prefix.py @@ -20,11 +20,14 @@ class PrefixRule(rule_model.GroupRespondRule): for prefix in prefixes: if message_text.startswith(prefix): + # 查找第一个plain元素 + for me in message_chain: + if isinstance(me, mirai.Plain): + me.text = me.text[len(prefix):] + return entities.RuleJudgeResult( matching=True, - replacement=mirai.MessageChain([ - mirai.Plain(message_text[len(prefix):]) - ]), + replacement=message_chain, ) return entities.RuleJudgeResult(