75 lines
1.9 KiB
Python
75 lines
1.9 KiB
Python
# core/jx3jiaoyihang.py
|
|
import requests
|
|
import json
|
|
from astrbot.api import logger
|
|
from urllib.parse import quote
|
|
|
|
def fetch_jx3_data(api_url=None, **params):
|
|
# 函数实现
|
|
try:
|
|
response = requests.get(api_url, params=params, timeout=10, verify=False)
|
|
response.raise_for_status()
|
|
data = response.json()
|
|
|
|
return data
|
|
|
|
except requests.exceptions.RequestException as e:
|
|
logger.error(f"请求出错: {e}")
|
|
return None
|
|
except json.JSONDecodeError as e:
|
|
logger.error(f"JSON解析错误: {e}")
|
|
return None
|
|
|
|
|
|
|
|
def fetch_jx3_jiaoyihang(inserver="眉间雪", inname="守缺"):
|
|
|
|
# URL 编码
|
|
encoded_text = quote(inname)
|
|
|
|
custom_url = f"https://node.jx3box.com/item_merged/name/{encoded_text}"
|
|
params = {
|
|
"client": "std",
|
|
"strictly": "0" ,
|
|
"page": "1",
|
|
"pre": "50"
|
|
}
|
|
|
|
data = fetch_jx3_data(custom_url,**params)
|
|
|
|
# 创建一个空列表来存储结果
|
|
filtered_items = []
|
|
|
|
# 遍历列表中的每个项目
|
|
for item in data.get("list", []):
|
|
# 提取id和Name字段
|
|
filtered_item = {
|
|
"id": item.get("id"),
|
|
"Name": item.get("Name")
|
|
}
|
|
# 添加到结果列表
|
|
filtered_items.append(filtered_item)
|
|
|
|
# 提取所有ID
|
|
ids = [item.get("id") for item in filtered_items]
|
|
|
|
# 返回格式化结果
|
|
stringids = ",".join(ids) if ids else ""
|
|
|
|
custom_url = f"https://next2.jx3box.com/api/item-price/list"
|
|
params = {
|
|
"server": "眉间雪", # 默认服务器
|
|
"itemIds": "5_47129" # 默认当天
|
|
}
|
|
|
|
# 接受传入的参数
|
|
params["server"]=inserver
|
|
params["itemIds"]=stringids
|
|
|
|
data = fetch_jx3_data(custom_url,**params)
|
|
|
|
logger.error(f"搜索到物品: \n{filtered_items}\n{params}")
|
|
|
|
return data.get("data", "无交易行数据")
|
|
|