mirror of
https://github.com/TeamPGM/PagerMaid_Plugins_Pyro.git
synced 2024-11-16 07:05:24 +00:00
This commit is contained in:
parent
5ef8e10fe1
commit
d301f5e370
17
zpr/main.py
17
zpr/main.py
@ -1,21 +1,19 @@
|
|||||||
import contextlib
|
import contextlib
|
||||||
import shutil
|
import shutil
|
||||||
from os import makedirs
|
|
||||||
from os.path import exists, dirname, abspath
|
|
||||||
from pagermaid.listener import listener
|
from pagermaid.listener import listener
|
||||||
from pagermaid.enums import Client, Message, AsyncClient
|
from pagermaid.enums import Client, Message, AsyncClient
|
||||||
from pyrogram.types import InputMediaPhoto
|
from pyrogram.types import InputMediaPhoto
|
||||||
from pyrogram.errors import RPCError
|
from pyrogram.errors import RPCError
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
pixiv_img_host = "pixiv.yuki.sh"
|
pixiv_img_host = "i.pixiv.cat"
|
||||||
headers = {
|
headers = {
|
||||||
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.42"
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.42"
|
||||||
}
|
}
|
||||||
data_path = Path("data/zpr")
|
data_path = Path("data/zpr")
|
||||||
|
|
||||||
|
|
||||||
async def get_result(message, request, r18=2):
|
async def get_result(message, request, r18=0):
|
||||||
# r18: 0为非 R18,1为 R18,2为混合(在库中的分类,不等同于作品本身的 R18 标识)
|
# r18: 0为非 R18,1为 R18,2为混合(在库中的分类,不等同于作品本身的 R18 标识)
|
||||||
# num: 图片的数量
|
# num: 图片的数量
|
||||||
# size: 返回图片的尺寸质量
|
# size: 返回图片的尺寸质量
|
||||||
@ -23,7 +21,7 @@ async def get_result(message, request, r18=2):
|
|||||||
size = "regular"
|
size = "regular"
|
||||||
des = "出错了,没有纸片人看了。"
|
des = "出错了,没有纸片人看了。"
|
||||||
data = await request.get(
|
data = await request.get(
|
||||||
f"https://api.lolicon.app/setu/v2?num=5&r18={r18}&size={size}",
|
f"https://api.lolicon.app/setu/v2?num=1&r18={r18}&size={size}",
|
||||||
headers=headers,
|
headers=headers,
|
||||||
timeout=10,
|
timeout=10,
|
||||||
)
|
)
|
||||||
@ -36,8 +34,10 @@ async def get_result(message, request, r18=2):
|
|||||||
return None, "解析JSON出错。"
|
return None, "解析JSON出错。"
|
||||||
setu_list = [] # 发送
|
setu_list = [] # 发送
|
||||||
await message.edit("努力获取中 。。。")
|
await message.edit("努力获取中 。。。")
|
||||||
for i in range(5):
|
for i in range(1):
|
||||||
urls = result[i]["urls"][size].replace("i.pixiv.re", pixiv_img_host)
|
urls = result[i]["urls"][size].replace("i.pixiv.re", pixiv_img_host)
|
||||||
|
pid = result[i]["pid"]
|
||||||
|
title = result[i]["title"]
|
||||||
img_name = f"{result[i]['pid']}_{i}.jpg"
|
img_name = f"{result[i]['pid']}_{i}.jpg"
|
||||||
file_path = data_path / img_name
|
file_path = data_path / img_name
|
||||||
try:
|
try:
|
||||||
@ -48,7 +48,8 @@ async def get_result(message, request, r18=2):
|
|||||||
f.write(img.content)
|
f.write(img.content)
|
||||||
except Exception:
|
except Exception:
|
||||||
return None, None, "连接二次元出错。。。"
|
return None, None, "连接二次元出错。。。"
|
||||||
setu_list.append(InputMediaPhoto(media=str(file_path)))
|
spoiler = r18 == 1
|
||||||
|
setu_list.append(InputMediaPhoto(media=str(file_path), caption=f"[Pixiv] {title} PID:{pid}", has_spoiler=spoiler))
|
||||||
return setu_list, des if setu_list else None
|
return setu_list, des if setu_list else None
|
||||||
|
|
||||||
|
|
||||||
@ -58,7 +59,7 @@ async def zpr(client: Client, message: Message, request: AsyncClient):
|
|||||||
message = await message.edit("正在前往二次元。。。")
|
message = await message.edit("正在前往二次元。。。")
|
||||||
try:
|
try:
|
||||||
photoList, des = await get_result(
|
photoList, des = await get_result(
|
||||||
message, request, r18=2 if arguments == "R18" else 0
|
message, request, r18=1 if arguments == "R18" else 0
|
||||||
)
|
)
|
||||||
if not photoList:
|
if not photoList:
|
||||||
shutil.rmtree("data/zpr")
|
shutil.rmtree("data/zpr")
|
||||||
|
Loading…
Reference in New Issue
Block a user