fix: skills kfc
This commit is contained in:
parent
e9a925cca1
commit
fad57fcc5e
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
name: kfc
|
name: kfc
|
||||||
description: "当用户说“kfc”、“KFC”、“肯德基”或“肯德基文案”时触发。调用 KFC 文案接口,返回其中的文案内容。"
|
description: "当用户说「kfc」、「KFC」、「肯德基」或「肯德基文案」时触发。调用 KFC 文案接口,返回其中的文案内容。"
|
||||||
argument-hint: "无需参数,直接调用即可"
|
argument-hint: "无需参数,直接调用即可"
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -12,7 +12,7 @@ argument-hint: "无需参数,直接调用即可"
|
|||||||
|
|
||||||
当用户提到 `kfc`、`KFC`、`肯德基` 或 `肯德基文案` 时,调用接口获取最新文案,并把接口返回的文案直接回复给用户。
|
当用户提到 `kfc`、`KFC`、`肯德基` 或 `肯德基文案` 时,调用接口获取最新文案,并把接口返回的文案直接回复给用户。
|
||||||
|
|
||||||
这个仓库里额外提供了一个可执行脚本 [skills/kfc/kfc.py](/Users/zuihoudeqingyu/Git/wechat/wechat-robot-skills/skills/kfc/kfc.py),方便宿主机器人直接调用。
|
这个仓库里额外提供了一个可执行脚本 `kfc/scripts/kfc.py`,方便宿主机器人直接调用。
|
||||||
|
|
||||||
## 触发条件
|
## 触发条件
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ argument-hint: "无需参数,直接调用即可"
|
|||||||
|
|
||||||
- 请求地址:`https://api.pearktrue.cn/api/kfc?type=json`
|
- 请求地址:`https://api.pearktrue.cn/api/kfc?type=json`
|
||||||
- 请求方式:`GET`
|
- 请求方式:`GET`
|
||||||
- 本地脚本:`skills/kfc/kfc.py`
|
- 本地脚本:`kfc/scripts/kfc.py`
|
||||||
- 返回示例:
|
- 返回示例:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
@ -42,10 +42,11 @@ argument-hint: "无需参数,直接调用即可"
|
|||||||
## 执行步骤
|
## 执行步骤
|
||||||
|
|
||||||
1. 当用户输入 `kfc`、`KFC`、`肯德基` 或 `肯德基文案` 时触发该技能。
|
1. 当用户输入 `kfc`、`KFC`、`肯德基` 或 `肯德基文案` 时触发该技能。
|
||||||
2. 优先执行本地脚本 `python skills/kfc/kfc.py`。
|
2. 在仓库根目录下执行本地脚本:`python3 kfc/scripts/kfc.py`。
|
||||||
3. 脚本内部发送 `GET` 请求到 `https://api.pearktrue.cn/api/kfc?type=json`。
|
3. 脚本内部发送 `GET` 请求到 `https://api.pearktrue.cn/api/kfc?type=json`。
|
||||||
4. 脚本解析返回的 JSON,并输出 `text` 字段。
|
4. 脚本解析返回的 JSON,并输出 `text` 字段。
|
||||||
5. 如果接口请求失败、返回格式异常,或没有拿到 `text`,脚本输出:`今天的肯德基文案暂时没拿到,等我再去问问。`
|
5. 如果接口请求失败、返回格式异常,或没有拿到 `text`,脚本输出:`今天的肯德基文案暂时没拿到,等我再去问问。`
|
||||||
|
6. 如果脚本无法执行(Python 环境不可用),直接回复兜底文案:`今天的肯德基文案暂时没拿到,等我再去问问。`
|
||||||
|
|
||||||
## 回复要求
|
## 回复要求
|
||||||
|
|
||||||
|
|||||||
@ -21,6 +21,7 @@ def fetch_kfc_copy() -> str:
|
|||||||
|
|
||||||
text = payload.get("text")
|
text = payload.get("text")
|
||||||
if isinstance(text, str) and text.strip():
|
if isinstance(text, str) and text.strip():
|
||||||
|
# 该 API 偶尔返回双重转义的换行符(字面量 \n),在此统一还原
|
||||||
return text.replace("\\n", "\n")
|
return text.replace("\\n", "\n")
|
||||||
return FALLBACK_TEXT
|
return FALLBACK_TEXT
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user