diff options
author | Kyomotoi <[email protected]> | 2022-02-05 00:47:52 +0800 |
---|---|---|
committer | Kyomotoi <[email protected]> | 2022-02-05 00:47:52 +0800 |
commit | c38bab21b3c85e82250e3b82ebde31e2aca2db92 (patch) | |
tree | c0cee6ea72f8a8754a4c43927da6fe7954f54608 /ATRI/plugins/saucenao/__init__.py | |
parent | 46b56e61866592f13a289064d56e1c1464353fdf (diff) | |
download | ATRI-c38bab21b3c85e82250e3b82ebde31e2aca2db92.tar.gz ATRI-c38bab21b3c85e82250e3b82ebde31e2aca2db92.tar.bz2 ATRI-c38bab21b3c85e82250e3b82ebde31e2aca2db92.zip |
🚑️🔒️🔧 大型修复工作
针对传回消息不同适配、外置限制改为nb内置限制
Diffstat (limited to 'ATRI/plugins/saucenao/__init__.py')
-rw-r--r-- | ATRI/plugins/saucenao/__init__.py | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/ATRI/plugins/saucenao/__init__.py b/ATRI/plugins/saucenao/__init__.py index 092db50..d3ad38f 100644 --- a/ATRI/plugins/saucenao/__init__.py +++ b/ATRI/plugins/saucenao/__init__.py @@ -1,39 +1,23 @@ from re import findall from random import choice -from nonebot.matcher import Matcher -from nonebot.params import ArgPlainText, CommandArg from nonebot.adapters.onebot.v11 import MessageEvent, Message, MessageSegment +from nonebot.adapters.onebot.v11.helpers import extract_image_urls, Cooldown from ATRI.config import SauceNAO -from ATRI.utils.limit import FreqLimiter from .data_source import SaouceNao -_search_flmt = FreqLimiter(10) _search_flmt_notice = choice(["慢...慢一..点❤", "冷静1下", "歇会歇会~~"]) saucenao = SaouceNao().on_command("以图搜图", "透过一张图搜索可能的来源") -async def _ready_search( - matcher: Matcher, event: MessageEvent, args: Message = CommandArg() -): [email protected]("saucenao_img", "图呢?", [Cooldown(5, prompt=_search_flmt_notice)]) +async def _deal_search(event: MessageEvent): user_id = event.get_user_id() - if not _search_flmt.check(user_id): - await saucenao.finish(_search_flmt_notice) - - msg = args.extract_plain_text() - if msg: - matcher.set_arg("saucenao_img", args) - - [email protected]("saucenao_img", "图呢?") -async def _deal_search(event: MessageEvent, msg: str = ArgPlainText("saucenao_img")): - user_id = event.get_user_id() - img = findall(r"url=(.*?)]", msg) + img = extract_image_urls(event.message) if not img: await saucenao.reject("请发送图片而不是其他东西!!") @@ -43,5 +27,4 @@ async def _deal_search(event: MessageEvent, msg: str = ArgPlainText("saucenao_im await saucenao.finish("失败了...") result = f"> {MessageSegment.at(user_id)}" + await a.search(img[0]) # type: ignore - _search_flmt.start_cd(user_id) await saucenao.finish(Message(result)) |