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
|
import re
import nonebot
from aiohttp import ClientSession
from nonebot import on_command, CommandSession
async def post_bytes(url, headers=None,data=None):
async with ClientSession() as asyncsession:
async with asyncsession.post(url,headers=headers,data=data) as response:
b = await response.read()
return b
hbook_switch = True
@on_command('switch', aliases=['开启', '关闭'], only_to_me=False)
async def _(session: CommandSession):
if session.ctx['user_id'] in session.bot.config.SUPERUSERS:
command = session.ctx['raw_message'].split(' ', 1)
swtich = command[0]
plugins = command[1]
global hbook_switch
if swtich == '开启':
if plugins == '本子':
hbook_switch = True
else:
await session.send('检查一下是否输错了呢')
else:
if plugins == '本子':
hbook_switch = False
else:
await session.send('检查一下是否输错了呢')
await session.send('完成')
else:
await session.send('恁哪位?')
@on_command('hbook', aliases=['本子', '找本子', '本子查询'], only_to_me=False)
async def _(session: CommandSession):
if hbook_switch:
h_msg = session.current_arg.strip()
if not h_msg:
h_msg = session.get('message', prompt='要冲了吗?速发关键词')
h_type = session.ctx['message_type']
h_qq = session.ctx['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}
responce = await post_bytes('https://b-upp.com/search/', headers=header, data=keyword)
responce = responce.decode()
if '没有搜索到相关的内容' in responce:
n_msg = '...似乎没有找到[{}]相关的本子呢'.format(h_msg)
await session.send(message=n_msg)
else:
p = '<a href="(.*?)" target="_blank" title="(.*?)">'
data = re.findall(p,responce)
n = len(data)
if h_type == 'group':
limit = 3
elif h_type == 'private':
limit = 10
if n > limit:
n = limit
msg = f'根据提供信息,已查询到{n}本关键词为[{h_msg}]的本子:'
if h_type == 'group':
msg = f'[CQ:at,qq={h_qq}]\n根据提供信息,已查询到{n}本关键词为[{h_msg}]的本子:'
for i in range(n):
msg0 = ('\n——————————\n本子链接:https://b-upp.com%s \n本子标题:%s '%(data[i]))
msg += msg0
await session.send(message=msg)
|