summaryrefslogtreecommitdiff
path: root/ATRI/plugins/saucenao/__init__.py
diff options
context:
space:
mode:
authorKyomotoi <[email protected]>2022-02-05 00:47:52 +0800
committerKyomotoi <[email protected]>2022-02-05 00:47:52 +0800
commitc38bab21b3c85e82250e3b82ebde31e2aca2db92 (patch)
treec0cee6ea72f8a8754a4c43927da6fe7954f54608 /ATRI/plugins/saucenao/__init__.py
parent46b56e61866592f13a289064d56e1c1464353fdf (diff)
downloadATRI-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__.py25
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))