mirror of
https://github.com/babalae/better-genshin-impact.git
synced 2026-03-18 08:13:20 +08:00
94 lines
2.7 KiB
Python
94 lines
2.7 KiB
Python
#!/usr/bin/env python3
|
||
# -*- coding: utf-8 -*-
|
||
"""
|
||
Better Genshin Impact Build Trigger Script
|
||
用于触发CNB构建的Python脚本
|
||
"""
|
||
|
||
import requests
|
||
import json
|
||
import sys
|
||
import argparse
|
||
|
||
def trigger_build(token, branch="main", event="api_trigger_one", runid=None):
|
||
"""
|
||
触发构建请求
|
||
|
||
Args:
|
||
token (str): 授权token
|
||
branch (str): 分支名称,默认为main
|
||
event (str): 事件类型,默认为api_trigger_one
|
||
runid (str): 运行ID,可选参数
|
||
|
||
Returns:
|
||
dict: API响应结果
|
||
"""
|
||
url = "https://api.cnb.cool/bettergi/better-genshin-impact/-/build/start"
|
||
|
||
headers = {
|
||
"Accept": "application/json",
|
||
"Authorization": f"Bearer {token}",
|
||
"Content-Type": "application/json",
|
||
"Host": "api.cnb.cool",
|
||
"Connection": "keep-alive"
|
||
}
|
||
|
||
data = {
|
||
"branch": branch,
|
||
"event": event
|
||
}
|
||
|
||
# 如果提供了runid,则添加到env中
|
||
if runid:
|
||
data["env"] = {
|
||
"RUN_ID": runid
|
||
}
|
||
|
||
try:
|
||
print(f"正在发起构建请求...")
|
||
print(f"URL: {url}")
|
||
|
||
print(f"请求体: {json.dumps(data, indent=2, ensure_ascii=False)}")
|
||
|
||
response = requests.post(url, headers=headers, json=data)
|
||
|
||
print(f"响应状态码: {response.status_code}")
|
||
|
||
if response.status_code == 200:
|
||
result = response.json()
|
||
print("构建触发成功!")
|
||
print(f"响应内容: {json.dumps(result, indent=2, ensure_ascii=False)}")
|
||
return result
|
||
else:
|
||
print(f"请求失败: {response.status_code}")
|
||
print(f"错误信息: {response.text}")
|
||
return None
|
||
|
||
except requests.exceptions.RequestException as e:
|
||
print(f"请求异常: {e}")
|
||
return None
|
||
except json.JSONDecodeError as e:
|
||
print(f"JSON解析错误: {e}")
|
||
print(f"响应内容: {response.text}")
|
||
return None
|
||
|
||
def main():
|
||
parser = argparse.ArgumentParser(description="触发Better Genshin Impact构建")
|
||
parser.add_argument("token", help="授权token")
|
||
parser.add_argument("--branch", default="main", help="分支名称 (默认: main)")
|
||
parser.add_argument("--event", default="api_trigger_one", help="事件类型 (默认: api_trigger_one)")
|
||
parser.add_argument("--runid", help="运行ID (可选)")
|
||
|
||
args = parser.parse_args()
|
||
|
||
if not args.token:
|
||
print("错误: 必须提供token参数")
|
||
sys.exit(1)
|
||
|
||
result = trigger_build(args.token, args.branch, args.event, args.runid)
|
||
|
||
if result is None:
|
||
sys.exit(1)
|
||
|
||
if __name__ == "__main__":
|
||
main() |