diff options
Diffstat (limited to 'ATRI/plugins/plugin_pixiv/__init__.py')
-rw-r--r-- | ATRI/plugins/plugin_pixiv/__init__.py | 188 |
1 files changed, 0 insertions, 188 deletions
diff --git a/ATRI/plugins/plugin_pixiv/__init__.py b/ATRI/plugins/plugin_pixiv/__init__.py deleted file mode 100644 index 3bb2ae0..0000000 --- a/ATRI/plugins/plugin_pixiv/__init__.py +++ /dev/null @@ -1,188 +0,0 @@ -#!/usr/bin/env python3 -# -*- encoding: utf-8 -*- -''' -@File : __init__.py -@Time : 2020/11/07 14:31:30 -@Author : Kyomotoi -@Contact : [email protected] -@Github : https://github.com/Kyomotoi -@License : Copyright © 2018-2020 Kyomotoi, All Rights Reserved. -''' -__author__ = 'kyomotoi' - -import re -import json - -from nonebot.plugin import on_command -from nonebot.typing import Bot, Event - -from ATRI.utils.utils_error import errorRepo -from ATRI.utils.utils_img import aio_download_pics -from ATRI.utils.utils_request import aio_get_bytes -from ATRI.utils.utils_rule import check_banlist, check_switch - -plugin_name_0 = "pixiv-pic-search" -pixivSearchIMG = on_command('p站搜图', - rule=check_banlist() & check_switch(plugin_name_0, True)) - - -async def _(bot: Bot, event: Event, state: dict) -> None: - user = str(event.user_id) - group = str(event.group_id) - - state["user"] = user - state["group"] = group - - pid = str(event.message).strip() - - if pid: - state["pid"] = pid - - [email protected]("pid", prompt="请发送目标PID码") -async def _(bot: Bot, event: Event, state: dict) -> None: - pid = state["pid"] - pid = re.findall(r"\d+", pid) - - if len(pid): - pass - else: - await pixivSearchIMG.reject("请发送纯阿拉伯数字的pid") - - await bot.send(event, "别急!在搜索了!") - - URL = f"https://api.imjad.cn/pixiv/v1/?type=illust&id={pid[0]}" - data = {} - - try: - data = json.loads(await aio_get_bytes(URL)) - except: - await pixivSearchIMG.finish(errorRepo("请求数据失败")) - - IMG = data["response"][0]["image_urls"]["large"] - IMG = IMG.replace("i.pximg.net", "i.pixiv.cat") - - msg0 = f'[CQ:at,qq={state["user"]}]\n' - msg0 += "Search result:\n" - msg0 += f"Pid: {pid[0]}\n" - msg0 += f'Title {data["response"][0]["title"]}\n' - msg0 += f'W&H: {data["response"][0]["width"]}x{data["response"][0]["height"]}\n' - msg0 += f'Tags: {data["response"][0]["tags"]}\n' - msg0 += f'Account Name: {data["response"][0]["user"]["account"]}\n' - msg0 += f'Author Name: {data["response"][0]["user"]["name"]}\n' - msg0 += f'Link: https://www.pixiv.net/users/{data["response"][0]["user"]["id"]}\n' - msg0 += IMG.replace('https://', '') - - await pixivSearchIMG.finish(msg0) - - -plugin_name_1 = "pixiv-author-search" -pixivSearchAuthor = on_command("p站画师", - rule=check_banlist() - & check_switch(plugin_name_1, True)) - - -async def _(bot: Bot, event: Event, state: dict) -> None: - user = str(event.user_id) - group = str(event.group_id) - - state["user"] = user - state["group"] = group - - author_id = str(event.message).strip() - - if author_id: - state["author_id"] = author_id - - [email protected]("author_id", prompt="请发送目标画师id") -async def _(bot: Bot, event: Event, state: dict) -> None: - author_id = state["author_id"] - author_id = re.findall(r"\d+", author_id) - - if len(author_id): - pass - else: - await pixivSearchAuthor.reject("请发送纯阿拉伯数字的画师id") - - await bot.send(event, f"别急!在搜索了!\n将展示画师[{author_id[0]}]的前三项作品") - - URL = f"https://api.imjad.cn/pixiv/v1/?type=member_illust&id={author_id[0]}" - data = {} - - try: - data = json.loads(await aio_get_bytes(URL)) - except: - await pixivSearchAuthor.finish(errorRepo("请求网络失败")) - - d = {} - - for i in range(0, 3): - pid = data["response"][i]["id"] - title = data["response"][i]["title"] - IMG = data["response"][i]["image_urls"]["large"] - IMG = IMG.replace("i.pximg.net", "i.pixiv.cat") - d[i] = [f"{pid}", f"{title}", f"{IMG}"] - - msg = f'[CQ:at,qq={state["user"]}]' - - result = sorted(d.items(), key=lambda x: x[1], reverse=True) - - t = 0 - - for i in result: - t += 1 - msg += "\n————————————\n" - msg += f"({t})\n" - msg += f"Title: {i[1][1]}\n" - msg += f"Pid: {i[1][0]}\n" - msg += f"{i[1][2].replace('https://', '')}" - - await pixivSearchAuthor.finish(msg) - - -plugin_name_2 = "pixiv-rank" -pixivRank = on_command("p站排行榜", - rule=check_banlist() & check_switch(plugin_name_2, True)) - - -async def _(bot: Bot, event: Event, state: dict) -> None: - user = str(event.user_id) - - await bot.send(event, "正在获取P站每日排行榜前三作品") - - URL = "https://api.imjad.cn/pixiv/v1/?type=rank" - data = {} - - try: - data = json.loads(await aio_get_bytes(URL)) - except: - await pixivRank.finish(errorRepo("网络请求失败")) - - d = {} - for i in range(0, 3): - pid = data["response"][0]["works"][i]["work"]["id"] - title = data["response"][0]["works"][i]["work"]["title"] - IMG = data["response"][0]["works"][i]["work"]["image_urls"]["large"] - IMG = IMG.replace("i.pximg.net", "i.pixiv.cat") - d[i] = [f"{pid}", f"{title}", f"{IMG}"] - - msg = f"[CQ:at,qq={user}]" - - result = sorted(d.items(), key=lambda x: x[1], reverse=True) - - t = 0 - - for i in result: - t += 1 - msg += "\n————————————\n" - msg += f"({t})\n" - msg += f"Title: {i[1][1]}\n" - msg += f"Pid: {i[1][0]}\n" - msg += f"{i[1][2].replace('https://', '')}" - - print(msg) - await pixivRank.finish(msg) |