mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-10-03 19:00:00 +08:00
fit nonebot.beta2
This commit is contained in:
+27
-36
@@ -1,12 +1,12 @@
|
||||
from nonebot import on_command
|
||||
from .data_source import get_bt_info
|
||||
from services.log import logger
|
||||
from nonebot.typing import T_State
|
||||
from nonebot.adapters import Bot
|
||||
from nonebot.adapters.cqhttp import PrivateMessageEvent
|
||||
from utils.utils import get_message_text
|
||||
from nonebot.adapters.cqhttp.permission import PRIVATE
|
||||
from nonebot.adapters.onebot.v11 import PrivateMessageEvent, Message
|
||||
from nonebot.adapters.onebot.v11.permission import PRIVATE
|
||||
from asyncio.exceptions import TimeoutError
|
||||
from utils.utils import is_number
|
||||
from nonebot.params import CommandArg, ArgStr
|
||||
from nonebot.typing import T_State
|
||||
|
||||
__zx_plugin_name__ = "磁力搜索"
|
||||
__plugin_usage__ = """
|
||||
@@ -28,9 +28,7 @@ __plugin_settings__ = {
|
||||
"limit_superuser": False,
|
||||
"cmd": ["bt", "磁力搜索", "Bt", "BT"],
|
||||
}
|
||||
__plugin_block_limit__ = {
|
||||
"rst": "您有bt任务正在进行,请等待结束."
|
||||
}
|
||||
__plugin_block_limit__ = {"rst": "您有bt任务正在进行,请等待结束."}
|
||||
__plugin_configs__ = {
|
||||
"BT_MAX_NUM": {
|
||||
"value": 10,
|
||||
@@ -43,44 +41,37 @@ __plugin_configs__ = {
|
||||
bt = on_command("bt", permission=PRIVATE, priority=5, block=True)
|
||||
|
||||
|
||||
@bt.args_parser
|
||||
async def _(bot: Bot, event: PrivateMessageEvent, state: T_State):
|
||||
if str(event.get_message()) in ["取消", "算了"]:
|
||||
await bt.finish("已取消操作..", at_sender=True)
|
||||
msg = get_message_text(event.json())
|
||||
if not msg:
|
||||
await bt.reject("你想搜索什么呢?", at_sender=True)
|
||||
state["keyword"] = msg
|
||||
state["page"] = "1"
|
||||
|
||||
|
||||
@bt.handle()
|
||||
async def _(bot: Bot, event: PrivateMessageEvent, state: T_State):
|
||||
mp = get_message_text(event.json())
|
||||
if not mp:
|
||||
return
|
||||
mp = mp.split()
|
||||
if len(mp) == 2:
|
||||
state["keyword"] = mp[0]
|
||||
state["page"] = mp[1]
|
||||
async def _(state: T_State, arg: Message = CommandArg()):
|
||||
msg = arg.extract_plain_text().strip().split()
|
||||
if msg:
|
||||
keyword = None
|
||||
page = 1
|
||||
if n := len(msg):
|
||||
keyword = msg[0]
|
||||
if n > 1 and is_number(msg[1]) and int(msg[1]) > 0:
|
||||
page = int(msg[1])
|
||||
state["keyword"] = keyword
|
||||
state["page"] = page
|
||||
else:
|
||||
state["keyword"] = mp[0]
|
||||
state["page"] = "1"
|
||||
state["page"] = 1
|
||||
|
||||
|
||||
@bt.got("keyword", prompt="虚空磁力?查什么GKD")
|
||||
async def _(bot: Bot, event: PrivateMessageEvent, state: T_State):
|
||||
keyword = state["keyword"]
|
||||
page = state["page"]
|
||||
await bt.send("开始搜索....", at_sender=True)
|
||||
@bt.got("keyword", prompt="请输入要查询的内容!")
|
||||
async def _(
|
||||
event: PrivateMessageEvent,
|
||||
state: T_State,
|
||||
keyword: str = ArgStr("keyword"),
|
||||
page: str = ArgStr("page"),
|
||||
):
|
||||
send_flag = False
|
||||
try:
|
||||
async for title, itype, create_time, file_size, link in get_bt_info(
|
||||
async for title, type_, create_time, file_size, link in get_bt_info(
|
||||
keyword, page
|
||||
):
|
||||
await bt.send(
|
||||
f"标题:{title}\n"
|
||||
f"类型:{itype}\n"
|
||||
f"类型:{type_}\n"
|
||||
f"创建时间:{create_time}\n"
|
||||
f"文件大小:{file_size}\n"
|
||||
f"种子:{link}"
|
||||
|
||||
@@ -12,7 +12,7 @@ if platform.system() == "Windows":
|
||||
url = "http://www.eclzz.world"
|
||||
|
||||
|
||||
async def get_bt_info(keyword: str, page: str):
|
||||
async def get_bt_info(keyword: str, page: int):
|
||||
"""
|
||||
获取资源信息
|
||||
:param keyword: 关键词
|
||||
@@ -34,11 +34,11 @@ async def get_bt_info(keyword: str, page: str):
|
||||
.strip()
|
||||
)
|
||||
spans = divs[2].find_all("span")
|
||||
itype = spans[0].text
|
||||
type_ = spans[0].text
|
||||
create_time = spans[1].find("b").text
|
||||
file_size = spans[2].find("b").text
|
||||
link = await get_download_link(divs[0].find("a")["href"])
|
||||
yield title, itype, create_time, file_size, link
|
||||
yield title, type_, create_time, file_size, link
|
||||
|
||||
|
||||
async def get_download_link(_url: str) -> str:
|
||||
|
||||
Reference in New Issue
Block a user