summaryrefslogtreecommitdiff
path: root/ATRI/plugins/hbook.py
diff options
context:
space:
mode:
authorKyomotoi <[email protected]>2020-08-11 00:08:59 +0800
committerKyomotoi <[email protected]>2020-08-11 00:08:59 +0800
commit892ae018b1b9ab52f3ee4b751893d70bd81ea777 (patch)
tree70312fbfb92d9569b33d047179ed7ac374c6aaf4 /ATRI/plugins/hbook.py
parent97bf675947264bbf1b39e595e8286751616f27c2 (diff)
downloadATRI-892ae018b1b9ab52f3ee4b751893d70bd81ea777.tar.gz
ATRI-892ae018b1b9ab52f3ee4b751893d70bd81ea777.tar.bz2
ATRI-892ae018b1b9ab52f3ee4b751893d70bd81ea777.zip
[Update]
Diffstat (limited to 'ATRI/plugins/hbook.py')
-rw-r--r--ATRI/plugins/hbook.py29
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