summaryrefslogtreecommitdiff
path: root/ATRI/plugins/nsfw.py
diff options
context:
space:
mode:
Diffstat (limited to 'ATRI/plugins/nsfw.py')
-rw-r--r--ATRI/plugins/nsfw.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/ATRI/plugins/nsfw.py b/ATRI/plugins/nsfw.py
index 0d071cb..945edf6 100644
--- a/ATRI/plugins/nsfw.py
+++ b/ATRI/plugins/nsfw.py
@@ -8,7 +8,7 @@ from ATRI.log import logger as log
from ATRI.config import Config
from ATRI.service import Service as sv
from ATRI.exceptions import RequestTimeOut
-from ATRI.rule import is_block, is_in_dormant, is_in_service
+from ATRI.rule import is_in_service
from ATRI.utils.request import get_bytes
from ATRI.utils.cqcode import coolq_code_check
@@ -28,14 +28,18 @@ async def _nsfw_checking(bot: Bot, event: GroupMessageEvent) -> None:
user = event.user_id
group = event.group_id
check = await coolq_code_check(msg, user, group)
+
if check:
+ if "image" not in msg:
+ return
+
+ url = nsfw_url + re.findall(r"url=(.*?)]", msg)[0]
try:
- url = nsfw_url + re.findall(r"url=(.*?)]", msg)[0]
data = json.loads(await get_bytes(url))
except:
log.warning('检测涩图失败,请查阅文档以获取帮助')
return
- if round(data['score'], 4) > 0.6:
+ if round(data['score'], 4) > Config.NsfwCheck.passing_rate:
score = "{:.2%}".format(round(data['score'], 4))
log.debug(f'截获涩图,得分:{score}')
await bot.send(event, f'好涩哦!涩值:{score}\n不行了咱要发给主人看!')
@@ -57,9 +61,9 @@ __doc__ = """
"""
nsfw_reading = sv.on_command(
- cmd="/nsfw",
+ cmd="nsfw",
docs=__doc__,
- rule=is_block() & is_in_service('/nsfw') & is_in_dormant()
+ rule=is_in_service('nsfw')
)
@nsfw_reading.handle()
@@ -73,7 +77,7 @@ async def _nsfw_r(bot: Bot,
if check and msg:
state['pic'] = msg
-@nsfw_reading.got('pic', prompt='请提供一张图片')
+@nsfw_reading.got('pic', prompt='图呢?')
async def _nsfw_reading(bot: Bot,
event: GroupMessageEvent,
state: T_State) -> None: