summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ATRI/plugins/saucenao/__init__.py18
-rw-r--r--ATRI/plugins/saucenao/data_source.py12
2 files changed, 16 insertions, 14 deletions
diff --git a/ATRI/plugins/saucenao/__init__.py b/ATRI/plugins/saucenao/__init__.py
index 071af98..9b502bd 100644
--- a/ATRI/plugins/saucenao/__init__.py
+++ b/ATRI/plugins/saucenao/__init__.py
@@ -3,25 +3,35 @@ from random import choice
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 .data_source import SaouceNao
+from ATRI.log import logger as log
+from ATRI.config import SauceNAO as sn
+from ATRI.service import ServiceTools
+from .data_source import SauceNao
_search_flmt_notice = choice(["慢...慢一..点❤", "冷静1下", "歇会歇会~~"])
-saucenao = SaouceNao().on_command("以图搜图", "透过一张图搜索可能的来源")
+saucenao = SauceNao().on_command("以图搜图", "透过一张图搜索可能的来源")
@saucenao.got("saucenao_img", "图呢?", [Cooldown(5, prompt=_search_flmt_notice)])
async def _deal_search(event: MessageEvent):
+
+ # cache fix
+ if not sn.key:
+ data = ServiceTools.load_service("以图搜图")
+ data["enabled"] = False
+ ServiceTools.save_service(data, "以图搜图")
+ log.warning("插件 SauceNao 所需的 key 未配置,将被全局禁用,后续填写请手动启用")
+
user_id = event.get_user_id()
img = extract_image_urls(event.message)
if not img:
await saucenao.reject("请发送图片而不是其他东西!!")
try:
- a = SaouceNao(SauceNAO.key)
+ a = SauceNao(sn.key)
except Exception:
await saucenao.finish("失败了...")
diff --git a/ATRI/plugins/saucenao/data_source.py b/ATRI/plugins/saucenao/data_source.py
index 8350839..521a957 100644
--- a/ATRI/plugins/saucenao/data_source.py
+++ b/ATRI/plugins/saucenao/data_source.py
@@ -1,17 +1,15 @@
from random import choice
-from ATRI.service import Service, ServiceTools
+from ATRI.service import Service
from ATRI.rule import is_in_service
from ATRI.exceptions import RequestError
from ATRI.utils import request
-from ATRI.config import SauceNAO as sa
-from ATRI.log import logger as log
URL = "https://saucenao.com/search.php"
-class SaouceNao(Service):
+class SauceNao(Service):
def __init__(
self,
api_key: str = str(),
@@ -23,12 +21,6 @@ class SaouceNao(Service):
):
Service.__init__(self, "以图搜图", "以图搜图,仅限二刺螈", rule=is_in_service("以图搜图"))
- if not sa.key:
- data = ServiceTools.load_service("以图搜图")
- data["enabled"] = False
- ServiceTools.save_service(data, "以图搜图")
- log.warning("插件 SauceNao 所需的 key 未配置,将被全局禁用,后续填写请手动启用")
-
params = dict()
params["api_key"] = api_key
params["output_type"] = output_type