From 98f82f6bc3b8a13e64c66bd5a6a585a37384697a Mon Sep 17 00:00:00 2001 From: Kyomotoi <0w0@imki.moe> Date: Thu, 14 Jul 2022 18:45:11 +0800 Subject: =?UTF-8?q?=F0=9F=9A=91=F0=9F=8E=A8=EF=B8=8F=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E8=AF=8D=E5=BA=93bug,=20=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ATRI/plugins/thesaurus/listener.py | 63 ++++++++++++++++++++------------------ 1 file changed, 34 insertions(+), 29 deletions(-) (limited to 'ATRI') diff --git a/ATRI/plugins/thesaurus/listener.py b/ATRI/plugins/thesaurus/listener.py index d3c3887..3f93cbe 100644 --- a/ATRI/plugins/thesaurus/listener.py +++ b/ATRI/plugins/thesaurus/listener.py @@ -33,7 +33,7 @@ async def _thesaurus_vote_listener(): for i in all_items: data: ThesaurusStoragor = i item_vote_list = data.vote_list - if len(item_vote_list) == 10: + if len(item_vote_list) >= 10: t = data.m_type if t == 0: @@ -81,41 +81,46 @@ async def _tl_listener(event: MessageEvent): tl = ThesaurusListener() msg = event.get_message().extract_plain_text() - group_id = 0 + group_id = int() if isinstance(event, GroupMessageEvent): group_id = event.group_id query_result = await tl.get_item_list(group_id) + if not query_result: + query_result = await tl.get_item_list(int()) + if not query_result: + return + shuffle(query_result) - if query_result: - for item in query_result: - item_info: ThesaurusStoragor = item - - if item_info.m_type == 1: - if item_info.matcher in msg: - if item_info.need_at: - if event.is_tome(): - await main_listener.finish(choice(item_info.result)) - else: - return - else: + + for item in query_result: + item_info: ThesaurusStoragor = item + + if item_info.m_type == 1: + if item_info.matcher in msg: + if item_info.need_at: + if event.is_tome(): await main_listener.finish(choice(item_info.result)) - elif item_info.m_type == 2: - patt = item_info.matcher - if re.findall(patt, msg): - if item_info.need_at: - if event.is_tome(): - await main_listener.finish(choice(item_info.result)) - else: - return else: + return + else: + await main_listener.finish(choice(item_info.result)) + elif item_info.m_type == 2: + patt = item_info.matcher + if re.findall(patt, msg): + if item_info.need_at: + if event.is_tome(): await main_listener.finish(choice(item_info.result)) - else: - if item_info.matcher == msg: - if item_info.need_at: - if event.is_tome(): - await main_listener.finish(choice(item_info.result)) - else: - return else: + return + else: + await main_listener.finish(choice(item_info.result)) + else: + if item_info.matcher == msg: + if item_info.need_at: + if event.is_tome(): await main_listener.finish(choice(item_info.result)) + else: + return + else: + await main_listener.finish(choice(item_info.result)) -- cgit v1.2.3