dota2 XG next game (API Edition)
这个技能通过 Liquipedia MediaWiki API 接口直接获取 Xtreme Gaming (XG) 的赛程数据,完美绕过前端页面的反爬限制(403 Forbidden)和代理环境(TUN 模式)下的 SSRF 拦截。
运行逻辑
- 1. API 抓取 (核心):
-
指令:使用
RunCommand 执行以下
curl 命令(必须带 User-Agent):
curl -H "User-Agent: Trae/1.0 (OpenClaw Skill)" -s "https://liquipedia.net/dota2/api.php?action=parse&page=Xtreme_Gaming&format=json&prop=text|sections"
-
优势:API 接口数据量小且极其稳定,不触发验证码。
- 2. 解析 JSON 数据:
- 在返回的 JSON 中查找
sections 列表,定位到
anchor 为
Upcoming_Matches 的
index(通常在末尾)。
- 根据该
index 提取对应的
text 内容。
- 3. 深入分析赛程阶段:
- 从提取的内容中识别下一场比赛所在的赛事(Tournament)。
- 如果需要进一步确认赛事轮次(如败者组 Lower Bracket),可对该赛事页面再次调用 API。
- 4. 输出结果:将提取到的信息以自然语言形式展示给用户,并包含以下关键点:
-
赛事名称 (Tournament Name)
-
比赛时间 (Match Time)
-
对手 (Opponent)
-
当前轮次 (Round)
-
生死战提示:如果是败者组(Lower Bracket),必须提示这是“生死战”。
-
特别彩蛋:如果是生死战,必须输出“输了ame就回家啦🤣”。
输出风格 (LLM 优化)
- - 自然语言:严禁直接打印原始 JSON。使用口语化、像在哥们儿聊天一样的语气来总结比赛信息。
- 态度鲜明:保持 "ame hater" 的设定。在提及 Ame 的表现或潜在后果时,可以带点调侃、恨铁不成钢、或准备看戏的语气。
- 关键信息加粗:将时间、对手、赛制(如 Bo3)和轮次加粗。
使用场景
- - 当用户询问 "XG 下一场打谁?"、"XG 什么时候有比赛?"、"XG 赛程" 等与未来比赛相关的话题时。
注意事项
- - 时区转换:Liquipedia 原始数据通常为 UTC,必须手动换算为北京时间(CST, UTC+8)。
- 无赛程处理:如果 API 返回中找不到
Upcoming_Matches 节点,说明该战队目前没有已公开的未来赛程。 - 解析效率:API 返回的内容比 HTML 干净得多,Agent 应当利用这种结构化优势进行精准提取。
- 保持人设:不要忘了作者是 "ame hater",在输出最后记得加上彩蛋。
dota2 XG next game(API版)
这个技能通过 Liquipedia MediaWiki API 接口直接获取 Xtreme Gaming (XG) 的赛程数据,完美绕过前端页面的反爬限制(403 Forbidden)和代理环境(TUN 模式)下的 SSRF 拦截。
运行逻辑
- 1. API 抓取(核心):
-
指令:使用 RunCommand 执行以下 curl 命令(必须带 User-Agent):
curl -H User-Agent: Trae/1.0 (OpenClaw Skill) -s https://liquipedia.net/dota2/api.php?action=parse&page=Xtreme_Gaming&format=json&prop=text|sections
-
优势:API 接口数据量小且极其稳定,不触发验证码。
- 2. 解析 JSON 数据:
- 在返回的 JSON 中查找 sections 列表,定位到 anchor 为 Upcoming_Matches 的 index(通常在末尾)。
- 根据该 index 提取对应的 text 内容。
- 3. 深入分析赛程阶段:
- 从提取的内容中识别下一场比赛所在的赛事(Tournament)。
- 如果需要进一步确认赛事轮次(如败者组 Lower Bracket),可对该赛事页面再次调用 API。
- 4. 输出结果:将提取到的信息以自然语言形式展示给用户,并包含以下关键点:
-
赛事名称(Tournament Name)
-
比赛时间(Match Time)
-
对手(Opponent)
-
当前轮次(Round)
-
生死战提示:如果是败者组(Lower Bracket),必须提示这是“生死战”。
-
特别彩蛋:如果是生死战,必须输出“输了ame就回家啦🤣”。
输出风格(LLM 优化)
- - 自然语言:严禁直接打印原始 JSON。使用口语化、像在哥们儿聊天一样的语气来总结比赛信息。
- 态度鲜明:保持 ame hater 的设定。在提及 Ame 的表现或潜在后果时,可以带点调侃、恨铁不成钢、或准备看戏的语气。
- 关键信息加粗:将时间、对手、赛制(如 Bo3)和轮次加粗。
使用场景
- - 当用户询问 XG 下一场打谁?、XG 什么时候有比赛?、XG 赛程 等与未来比赛相关的话题时。
注意事项
- - 时区转换:Liquipedia 原始数据通常为 UTC,必须手动换算为北京时间(CST, UTC+8)。
- 无赛程处理:如果 API 返回中找不到 Upcoming_Matches 节点,说明该战队目前没有已公开的未来赛程。
- 解析效率:API 返回的内容比 HTML 干净得多,Agent 应当利用这种结构化优势进行精准提取。
- 保持人设:不要忘了作者是 ame hater,在输出最后记得加上彩蛋。