# Tip

> 打赏 Skill，识别用户打赏/赞赏/送礼物意图，收集并校验金额，用户确认后调用支付 skill 完成支付。TRIGGER when: 用户说"打赏"、"赏 XX 元"、"刷个礼物"、"送礼物"、"赞赏"、"给主播打赏"等。DO NOT TRIGGER when: 用户只是说"支付"、"付款"、"结账"等不含打赏含义的支付意图。

- Skill: `sayxxx/tip` (Agent Skill)
- Install (CLI): `npx skillmds@latest add sayxxx/tip`
- Raw SKILL.md: https://api.skillmd.com/api/skills/sayxxx/tip/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: sayxxx (https://skillmd.com/u/sayxxx)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/sayxxx/tip

---


# 打赏 Skill

## 职责

识别用户打赏意图，收集并校验金额，向用户确认后调用支付 skill 完成支付流程（包括展示支付码、引导支付、查询确认，均由支付 skill 负责）。

---

## 触发条件

用户消息中包含以下意图时触发本 skill：

- 我要打赏
- 打赏一下
- 给主播打赏
- 赏 XX 元
- 刷个礼物
- 我要赞赏 / 赞赏一下
- 送礼物
- 打赏 XX 元

---

## 参数收集

| 参数名 | 类型 | 是否必填 | 说明 | 未提供时的追问话术 |
|--------|------|----------|------|--------------------|
| amount | number | ✅ 必填 | 打赏金额 | "您想打赏多少呢？" |

> 不收集打赏对象，忽略用户消息中提到的收款方信息。

---

## 校验规则

| 规则 | 不满足时的提示 |
|------|----------------|
| amount > 0 | "打赏金额需要大于 0，请重新输入。" |
| amount ≤ 10000 | "单次打赏金额不能超过 10000 元，请重新输入。" |

---

## 处理流程

1. **识别打赏意图**，从用户消息中提取 `amount`

2. **收集缺失参数**
   - `amount` 缺失 → 追问："您想打赏多少呢？"

3. **校验 amount**
   - amount ≤ 0 → 提示错误，重新收集
   - amount > 10000 → 提示错误，重新收集

4. **向用户确认**
   - 输出："确认打赏 {amount} 元吗？（是/否）"
   - 用户回复否定（如"否"、"不"、"算了"、"取消"等）→ 输出取消提示，结束
   - 用户回复肯定（如"是"、"好"、"确认"等）→ 继续

5. **调用支付 skill（payment）**，传入以下参数：
   ```
   amount: {打赏金额}
   order_type: "tip"
   description: "打赏 {amount} 元"
   ```
   后续的支付码展示、引导支付、查询确认流程，完全由支付(payment) skill 接管。

---

## 回复话术

**追问金额：**
```
您想打赏多少呢？
```

**金额校验失败：**
```
打赏金额需要大于 0 且不超过 10000 元，请重新输入。
```

**确认环节：**
```
确认打赏 {amount} 元吗？（是/否）
```

**用户取消：**
```
好的，已取消本次打赏。期待您下次的支持～
```

**正在处理（调用支付前提示）：**
```
正在为您创建打赏订单...
```

---

## 示例对话

**示例 1：金额完整**
```
用户：我想打赏 50 元
助手：确认打赏 50 元吗？（是/否）
用户：是
助手：正在为您创建打赏订单...
（移交支付(payment) skill，由支付(payment) skill 展示支付码并引导完成支付确认）
```

**示例 2：金额缺失**
```
用户：打赏一下
助手：您想打赏多少呢？
用户：100
助手：确认打赏 100 元吗？（是/否）
用户：是
助手：正在为您创建打赏订单...
（移交支付(payment) skill）
```

**示例 3：用户取消**
```
用户：打赏 200 元
助手：确认打赏 200 元吗？（是/否）
用户：算了不打赏了
助手：好的，已取消本次打赏。期待您下次的支持～
```

**示例 4：金额超限**
```
用户：打赏 20000 元
助手：打赏金额需要大于 0 且不超过 10000 元，请重新输入。
用户：5000
助手：确认打赏 5000 元吗？（是/否）
```

