From c46660319379583d8cbe03ead0f6185deb715fc6 Mon Sep 17 00:00:00 2001 From: LambdaYH Date: Sun, 21 Aug 2022 21:58:31 +0800 Subject: [PATCH] Fix at messages with suffixed text --- plugins/word_bank/_rule.py | 4 +++- plugins/word_bank/message_handle.py | 4 +++- plugins/word_bank/word_handle.py | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/plugins/word_bank/_rule.py b/plugins/word_bank/_rule.py index 91f8f498..df0b784e 100644 --- a/plugins/word_bank/_rule.py +++ b/plugins/word_bank/_rule.py @@ -23,8 +23,10 @@ async def check(event: MessageEvent) -> bool: for seg in event.message: if seg.type == 'at': temp += f"[at:{seg.data['qq']}]" - else: + elif isinstance(seg, str): temp += seg + elif seg.type == 'text': + temp += seg.data["text"] problem = temp if problem: return await WordBank.check(event, problem) is not None diff --git a/plugins/word_bank/message_handle.py b/plugins/word_bank/message_handle.py index 7aa7bd8d..af5a7973 100644 --- a/plugins/word_bank/message_handle.py +++ b/plugins/word_bank/message_handle.py @@ -33,8 +33,10 @@ async def _(event: MessageEvent): for seg in event.message: if seg.type == 'at': temp += f"[at:{seg.data['qq']}]" - else: + elif isinstance(seg, str): temp += seg + elif seg.type == 'text': + temp += seg.data["text"] problem = temp elif text: problem = text diff --git a/plugins/word_bank/word_handle.py b/plugins/word_bank/word_handle.py index f729883f..5c6d7818 100644 --- a/plugins/word_bank/word_handle.py +++ b/plugins/word_bank/word_handle.py @@ -117,8 +117,10 @@ async def _( _problem[0] = str(_problem[0])[str(_problem).index('问')+1:] temp = '' for g in _problem: - if isinstance(g, str) or g.type == 'text': + if isinstance(g, str): temp += g + elif g.type == 'text': + temp += g.data['text'] elif g.type == 'at': temp += f"[at:{g.data['qq']}]" problem = temp