✨ 移除saa依赖

This commit is contained in:
HibiKier
2024-08-11 15:57:33 +08:00
parent 71f3b031d4
commit d0792e0a1c
68 changed files with 1722 additions and 1528 deletions
+16 -10
View File
@@ -8,11 +8,11 @@ from nonebot_plugin_alconna import (
on_alconna,
store_true,
)
from nonebot_plugin_saa import Text
from nonebot_plugin_session import EventSession
from zhenxun.configs.utils import PluginExtraData
from zhenxun.services.log import logger
from zhenxun.utils.message import MessageUtils
from ._data_source import uid_pid_exists
from ._model.pixiv import Pixiv
@@ -65,12 +65,12 @@ async def _(bot: Bot, session: EventSession, keyword: str, arparma: Arparma):
text = f"已成功添加pixiv搜图关键词:{keyword}"
if session.id1 not in bot.config.superusers:
text += ",请等待管理员通过该关键词!"
await Text(text).send(reply=True)
await MessageUtils.build_message(text).send(reply_to=True)
logger.info(
f"添加了pixiv搜图关键词: {keyword}", arparma.header_result, session=session
)
else:
await Text(f"该关键词 {keyword} 已存在...").send()
await MessageUtils.build_message(f"该关键词 {keyword} 已存在...").send()
@_uid_matcher.handle()
@@ -85,9 +85,13 @@ async def _(bot: Bot, session: EventSession, arparma: Arparma, add_type: str, id
else:
word = f"pid:{id}"
if await Pixiv.get_or_none(pid=int(id), img_p="p0"):
await Text(f"该PID:{id}已存在...").finish(reply=True)
await MessageUtils.build_message(f"该PID:{id}已存在...").finish(
reply_to=True
)
if not await uid_pid_exists(word) and exists_flag:
await Text("画师或作品不存在或搜索正在CD,请稍等...").finish(reply=True)
await MessageUtils.build_message(
"画师或作品不存在或搜索正在CD,请稍等..."
).finish(reply_to=True)
if not await PixivKeywordUser.exists(keyword=word):
await PixivKeywordUser.create(
user_id=session.id1,
@@ -98,9 +102,9 @@ async def _(bot: Bot, session: EventSession, arparma: Arparma, add_type: str, id
text = f"已成功添加pixiv搜图UID/PID:{id}"
if session.id1 not in bot.config.superusers:
text += ",请等待管理员通过该关键词!"
await Text(text).send(reply=True)
await MessageUtils.build_message(text).send(reply_to=True)
else:
await Text(f"该UID/PID:{id} 已存在...").send()
await MessageUtils.build_message(f"该UID/PID:{id} 已存在...").send()
@_black_matcher.handle()
@@ -111,7 +115,7 @@ async def _(bot: Bot, session: EventSession, arparma: Arparma, pid: str):
pid = pid.replace("_", "")
pid = pid[: pid.find("p")]
if not pid.isdigit:
await Text("PID必须全部是数字!").finish(reply=True)
await MessageUtils.build_message("PID必须全部是数字!").finish(reply_to=True)
if not await PixivKeywordUser.exists(
keyword=f"black:{pid}{f'_p{img_p}' if img_p else ''}"
):
@@ -121,9 +125,11 @@ async def _(bot: Bot, session: EventSession, arparma: Arparma, pid: str):
keyword=f"black:{pid}{f'_p{img_p}' if img_p else ''}",
is_pass=session.id1 in bot.config.superusers,
)
await Text(f"已添加PID:{pid} 至黑名单中...").send()
await MessageUtils.build_message(f"已添加PID:{pid} 至黑名单中...").send()
logger.info(
f" 添加了pixiv搜图黑名单 PID:{pid}", arparma.header_result, session=session
)
else:
await Text(f"PID:{pid} 已添加黑名单中,添加失败...").send()
await MessageUtils.build_message(
f"PID:{pid} 已添加黑名单中,添加失败..."
).send()
@@ -5,17 +5,18 @@ from nonebot_plugin_alconna import (
Alconna,
Args,
Arparma,
At,
Match,
Option,
on_alconna,
store_true,
)
from nonebot_plugin_saa import Mention, MessageFactory, Text
from nonebot_plugin_session import EventSession
from zhenxun.configs.utils import PluginExtraData
from zhenxun.services.log import logger
from zhenxun.utils.enum import PluginType
from zhenxun.utils.message import MessageUtils
from zhenxun.utils.platform import PlatformUtils
from ._data_source import remove_image
@@ -89,7 +90,9 @@ async def _(
else:
keyword = f"pid:{keyword}"
if not keyword[4:].isdigit():
await Text(f"{keyword} 非全数字...").finish(reply=True)
await MessageUtils.build_message(f"{keyword} 非全数字...").finish(
reply_to=True
)
data = await PixivKeywordUser.get_or_none(keyword=keyword)
user_id = 0
group_id = 0
@@ -98,9 +101,9 @@ async def _(
await data.save(update_fields=["is_pass"])
user_id, group_id = data.user_id, data.group_id
if not user_id:
await Text(f"未找到关键词/UID:{keyword},请检查关键词/UID是否存在...").finish(
reply=True
)
await MessageUtils.build_message(
f"未找到关键词/UID:{keyword},请检查关键词/UID是否存在..."
).finish(reply_to=True)
if flag:
if group_id == -1:
if not tmp["private"].get(user_id):
@@ -114,7 +117,9 @@ async def _(
tmp["group"][group_id][user_id] = {"keyword": [keyword]}
else:
tmp["group"][group_id][user_id]["keyword"].append(keyword)
await Text(f"已成功{'通过' if flag else '拒绝'}搜图关键词:{keyword}...").send()
await MessageUtils.build_message(
f"已成功{'通过' if flag else '拒绝'}搜图关键词:{keyword}..."
).send()
for user in tmp["private"]:
text = ",".join(tmp["private"][user]["keyword"])
await PlatformUtils.send_message(
@@ -134,21 +139,13 @@ async def _(
bot,
None,
group_id=group,
message=MessageFactory(
message=MessageUtils.build_message(
[
Mention(user_id=user),
Text(
"你的关键词/UID/PID {x} 已被管理员通过,将在下一次进行更新..."
),
At(flag="user", target=user),
"你的关键词/UID/PID {x} 已被管理员通过,将在下一次进行更新...",
]
),
)
# await bot.send_group_msg(
# group_id=group,
# message=Message(
# f"{at(user)}你的关键词/UID/PID {x} 已被管理员通过,将在下一次进行更新..."
# ),
# )
logger.info(
f" 通过了pixiv搜图关键词/UID: {keyword}", arparma.header_result, session=session
)
@@ -160,12 +157,16 @@ async def _(bot: Bot, session: EventSession, arparma: Arparma, type: str, keywor
keyword = f"{type}:{keyword}"
if data := await PixivKeywordUser.get_or_none(keyword=keyword):
await data.delete()
await Text(f"删除搜图关键词/UID:{keyword} 成功...").send()
await MessageUtils.build_message(
f"删除搜图关键词/UID:{keyword} 成功..."
).send()
logger.info(
f" 删除了pixiv搜图关键词: {keyword}", arparma.header_result, session=session
)
else:
await Text(f"未查询到搜索关键词/UID/PID:{keyword},删除失败!").send()
await MessageUtils.build_message(
f"未查询到搜索关键词/UID/PID:{keyword},删除失败!"
).send()
@_del_pic_matcher.handle()
@@ -202,16 +203,16 @@ async def _(bot: Bot, session: EventSession, arparma: Arparma, keyword: str):
arparma.header_result,
session=session,
)
# else:
# await del_pic.send(
# f"PIX:删除pid:{pid}{f'_p{img_p}' if img_p else ''} 失败.."
# )
else:
await Text(
await MessageUtils.build_message(
f"PIX:图片pix:{keyword}{f'_p{img_p}' if img_p else ''} 不存在...无法删除.."
).send()
else:
await Text(f"PID必须为数字!pid:{keyword}").send(reply=True)
await Text(f"PIX:成功删除图片:{msg[:-1]}").send()
await MessageUtils.build_message(f"PID必须为数字!pid:{keyword}").send(
reply_to=True
)
await MessageUtils.build_message(f"PIX:成功删除图片:{msg[:-1]}").send()
if flag:
await Text(f"成功图片PID加入黑名单:{black_pid[:-1]}").send()
await MessageUtils.build_message(
f"成功图片PID加入黑名单:{black_pid[:-1]}"
).send()
+12 -8
View File
@@ -16,12 +16,12 @@ from nonebot_plugin_alconna import (
on_alconna,
store_true,
)
from nonebot_plugin_saa import Text
from nonebot_plugin_session import EventSession
from zhenxun.configs.utils import PluginExtraData
from zhenxun.services.log import logger
from zhenxun.utils.enum import PluginType
from zhenxun.utils.message import MessageUtils
from ._data_source import start_update_image_url
from ._model.omega_pixiv_illusts import OmegaPixivIllusts
@@ -106,10 +106,12 @@ async def _(arparma: Arparma, session: EventSession, type: str, num: Match[int])
else:
update_lst = [f"uid:{_num}"]
info = f"开始更新Pixiv搜图UID:\nuid:{_num}"
await Text(info).send()
await MessageUtils.build_message(info).send()
start_time = time.time()
pid_count, pic_count = await start_update_image_url(update_lst[:_num], black_pid, type == 'pid')
await Text(
pid_count, pic_count = await start_update_image_url(
update_lst[:_num], black_pid, type == "pid"
)
await MessageUtils.build_message(
f"Pixiv搜图关键词搜图更新完成...\n"
f"累计更新PID {pid_count} 个\n"
f"累计更新图片 {pic_count} 张"
@@ -131,7 +133,7 @@ async def _(bot: Bot, arparma: Arparma, session: EventSession):
x_pid.append(img.pid)
if img.uid not in x_uid:
x_uid.append(img.uid)
await Text(
await MessageUtils.build_message(
"从未更新过的UID:"
+ ",".join([f"uid:{x}" for x in _uid if x not in x_uid])
+ "\n"
@@ -139,12 +141,14 @@ async def _(bot: Bot, arparma: Arparma, session: EventSession):
+ ",".join([f"pid:{x}" for x in _pid if x not in x_pid])
).send()
if arparma.find("update"):
await Text("开始自动自动更新PID....").send()
await MessageUtils.build_message("开始自动自动更新PID....").send()
update_lst = [f"pid:{x}" for x in _uid if x not in x_uid]
black_pid = await PixivKeywordUser.get_black_pid()
start_time = time.time()
pid_count, pic_count = await start_update_image_url(update_lst, black_pid, False)
await Text(
pid_count, pic_count = await start_update_image_url(
update_lst, black_pid, False
)
await MessageUtils.build_message(
f"Pixiv搜图关键词搜图更新完成...\n"
f"累计更新PID {pid_count} 个\n"
f"累计更新图片 {pic_count} 张"