diff options
author | Kyomotoi <[email protected]> | 2020-08-11 00:08:59 +0800 |
---|---|---|
committer | Kyomotoi <[email protected]> | 2020-08-11 00:08:59 +0800 |
commit | 892ae018b1b9ab52f3ee4b751893d70bd81ea777 (patch) | |
tree | 70312fbfb92d9569b33d047179ed7ac374c6aaf4 /ATRI/plugins/hbook.py | |
parent | 97bf675947264bbf1b39e595e8286751616f27c2 (diff) | |
download | ATRI-892ae018b1b9ab52f3ee4b751893d70bd81ea777.tar.gz ATRI-892ae018b1b9ab52f3ee4b751893d70bd81ea777.tar.bz2 ATRI-892ae018b1b9ab52f3ee4b751893d70bd81ea777.zip |
[Update]
Diffstat (limited to 'ATRI/plugins/hbook.py')
-rw-r--r-- | ATRI/plugins/hbook.py | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/ATRI/plugins/hbook.py b/ATRI/plugins/hbook.py index d1a79bc..52a3098 100644 --- a/ATRI/plugins/hbook.py +++ b/ATRI/plugins/hbook.py @@ -7,29 +7,38 @@ from nonebot import on_command, CommandSession from ATRI.modules import response # type: ignore -@on_command('hbook', aliases = ['本子', '本子搜索', '本子查询'], only_to_me = False) +pattern = r"来(.*?)[点丶份张幅](.*?)的?本子" + +@on_command('hbook', patterns = [r"来(.*?)[点丶份张幅](.*?)的本子"], only_to_me = False) async def _(session: CommandSession): with open('ATRI/plugins/switch/switch.json', 'r') as f: data = json.load(f) if data["hbook"] == 0: + num = 1 + tag = '' start = time.perf_counter() - h_msg = session.current_arg.strip() + h_msg = str(session.event.message) - if not h_msg: - h_msg = session.get('message', prompt='要冲了吗?速发关键词') + info = re.findall(pattern, h_msg) + if info: + num = int(info[0][0] or 1) + tag = info[0][1] + if num > 5: + await session.send('你是不是涩批啊!要那么多干啥?!我最多发5份!') + num = 5 h_type = session.event.detail_type h_user = session.event.user_id header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'} - keyword = {'show':'title,titleen,tags','keyboard':h_msg} + keyword = {'show':'title,titleen,tags','keyboard':f'{tag}'} res = await response.post_bytes('https://b-upp.com/search/', headers=header, data=keyword) res = res.decode() if '没有搜索到相关的内容' in res: - n_msg = '...似乎没有找到[{}]相关的本子呢'.format(h_msg) + n_msg = '...似乎没有找到[{}]相关的本子呢'.format(tag) await session.send(message=n_msg) else: @@ -38,17 +47,17 @@ async def _(session: CommandSession): n = len(data) if h_type == 'group': - limit = 3 + limit = num elif h_type == 'private': - limit = 10 + limit = num if n > limit: # type: ignore n = limit # type: ignore - msg = f'根据提供信息,已查询到{n}本关键词为[{h_msg}]的本子:' + msg = f'根据提供信息,已查询到{n}本关键词为[{tag}]的本子:' if h_type == 'group': - msg = f'[CQ:at,qq={h_user}]\n根据提供信息,已查询到{n}本关键词为[{h_msg}]的本子:' + msg = f'[CQ:at,qq={h_user}]\n根据提供信息,已查询到{n}本关键词为[{tag}]的本子:' for i in range(n): msg0 = ('\n——————————\n本子链接:https://b-upp.com%s \n本子标题:%s '%(data[i])) msg += msg0 |