diff options
author | Kyomotoi <[email protected]> | 2022-07-14 18:45:11 +0800 |
---|---|---|
committer | Kyomotoi <[email protected]> | 2022-07-14 18:45:11 +0800 |
commit | 98f82f6bc3b8a13e64c66bd5a6a585a37384697a (patch) | |
tree | 4dc3c82db9cab49b122e6879374dcbc9dcaf42e0 | |
parent | 43094cf307b9d4a4c3100ec5cf3c50de0b6a39fc (diff) | |
download | ATRI-98f82f6bc3b8a13e64c66bd5a6a585a37384697a.tar.gz ATRI-98f82f6bc3b8a13e64c66bd5a6a585a37384697a.tar.bz2 ATRI-98f82f6bc3b8a13e64c66bd5a6a585a37384697a.zip |
🚑🎨️ 修复词库bug, 优化代码
-rw-r--r-- | ATRI/plugins/thesaurus/listener.py | 63 |
1 files changed, 34 insertions, 29 deletions
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)) |