summaryrefslogtreecommitdiff
path: root/AyaBot/plugins/pixiv.py
blob: 50d715901ad23cde3aeb5de239e8e5a86a78e5d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import json
import nonebot
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:
        await session.send('连接似乎失败了呢...请稍后尝试')
   
@pixivsearch.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


@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