summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyomotoi <[email protected]>2022-07-14 18:45:11 +0800
committerKyomotoi <[email protected]>2022-07-14 18:45:11 +0800
commit98f82f6bc3b8a13e64c66bd5a6a585a37384697a (patch)
tree4dc3c82db9cab49b122e6879374dcbc9dcaf42e0
parent43094cf307b9d4a4c3100ec5cf3c50de0b6a39fc (diff)
downloadATRI-98f82f6bc3b8a13e64c66bd5a6a585a37384697a.tar.gz
ATRI-98f82f6bc3b8a13e64c66bd5a6a585a37384697a.tar.bz2
ATRI-98f82f6bc3b8a13e64c66bd5a6a585a37384697a.zip
🚑🎨️ 修复词库bug, 优化代码
-rw-r--r--ATRI/plugins/thesaurus/listener.py63
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))