summaryrefslogtreecommitdiff
path: root/ATRIbot/plugins/pixiv.py
diff options
context:
space:
mode:
Diffstat (limited to 'ATRIbot/plugins/pixiv.py')
-rw-r--r--ATRIbot/plugins/pixiv.py73
1 files changed, 73 insertions, 0 deletions
diff --git a/ATRIbot/plugins/pixiv.py b/ATRIbot/plugins/pixiv.py
new file mode 100644
index 0000000..bfa2998
--- /dev/null
+++ b/ATRIbot/plugins/pixiv.py
@@ -0,0 +1,73 @@
+import json
+import requests
+from nonebot import on_command, CommandSession
+
+
+@on_command('pixivsearch', aliases=['p站搜索'], only_to_me=False)
+async def pixivsearch(session: CommandSession):
+ gets = session.get('gets', prompt='请告诉吾辈需要查询的pid码')
+ try:
+ URL = 'https://api.imjad.cn/pixiv/v1/?type=illust&id=' + gets
+ print(URL)
+ response = requests.request("GET", URL)
+ html = response.text
+ sr = json.loads(html)
+
+ i = sr["response"][0]["id"]
+ title = sr["response"][0]["title"]
+ width = sr["response"][0]["width"]
+ height = sr["response"][0]["height"]
+ tags = sr["response"][0]["tags"]
+ userid = sr["response"][0]["user"]["id"]
+ account = sr["response"][0]["user"]["account"]
+ name = sr["response"][0]["user"]["name"]
+
+ user_link = f'https://www.pixiv.net/users/{userid}'
+ img = f'https://pixiv.cat/{gets}.jpg'
+
+ await session.send(f'搜索结果如下:\nPid: {i}\nTitle: {title}\n宽高: {width}x{height}\nTags: {tags}\n账号名称: {account}\n名称: {name}\nLink: {user_link}\n[CQ:image,file={img}]')
+
+ except:
+ print('error')
+ await session.send('连接似乎失败了呢...请稍后尝试')
+
+async def _(session: CommandSession):
+ stripped_arg = session.current_arg_text.strip()
+ if session.is_first_run:
+ if stripped_arg:
+ session.state['gets'] = stripped_arg
+ return
+
+ if not stripped_arg:
+ session.pause('请输入需要查询的pid码')
+ session.state[session.current_key] = stripped_arg
+
+
+@on_command('pixiv_search_img', aliases=['p站搜图', 'P站搜图', '批站搜图'], only_to_me=False)
+async def pixiv_search_img(session: CommandSession):
+ gets = session.get('gets', prompt='请告诉吾辈需要搜索的pid码')
+
+ try:
+ URL = f'https://pixiv.cat/{gets}.jpg'
+
+ if URL:
+ nc = str('success!')
+
+ await session.send(f'status: {nc}\nPid: {gets}\n[CQ:image,file={URL}]')
+
+
+ except:
+ await session.send('吾辈尽力了...或许是连接失败??')
+
+@pixiv_search_img.args_parser
+async def _(session: CommandSession):
+ stripped_arg = session.current_arg_text.strip()
+ if session.is_first_run:
+ if stripped_arg:
+ session.state['gets'] = stripped_arg
+ return
+
+ if not stripped_arg:
+ session.pause('请告诉吾辈需要搜索的pid码')
+ session.state[session.current_key] = stripped_arg \ No newline at end of file