Files
karuo-ai/02_卡人(水)/水桥_平台对接/接收短信/SKILL.md

141 lines
5.2 KiB
Markdown
Raw Normal View History

---
name: 接收短信
description: 通过 receivesms 类网站获取临时号码并抓取该号码最新一条短信含发件人名字与内容。触发词接收短信、收短信、receivesms、接码、临时号码、获取短信、拿短信。
owner: 水桥
group: 水
version: "1.0"
updated: "2026-03-01"
---
# 接收短信 Skill
> 从接码网站取号、拿最新短信,命令行完成,不打开网页。 —— 水桥
---
## 一、负责与入口
- **负责人**:水桥(平台对接)
- **触发词**接收短信、收短信、receivesms、接码、临时号码、获取短信、拿短信、等刷新拿短信
- **数据源网站****receivesms.co**(英国临时号码列表与收件页,公开、免注册)
---
## 二、要获取的「网站短信」类型说明
本技能最终输出两类信息,请按需使用:
| 输出项 | 含义 | 示例 |
|:---|:---|:---|
| **号码** | 当前使用的临时号码(来自 receivesms.co 英国号列表) | +447424907088 |
| **短信内容** | 该号码收件页上**最新一条**短信的正文 | `[PUBG] code: 697881. Valid for 3 minutes.` |
| **发件人名字(网站/服务名)** | 页面上显示的发送方标识,即「来自哪个网站/服务的短信」 | TRIBBU、bilibili、AIRBNB、hcloud、WhatsApp 等 |
**当前脚本行为**:只输出**号码 + 最新一条短信正文**;发件人名字在网页上对应 `class="from-link"`,若你需要「只要某类网站/服务发来的短信」(如只要 bilibili、只要验证码类可在本 Skill 下扩展脚本按发件人或关键词过滤。
**可获取的短信类型(按来源名)**:凡在 receivesms.co 该号码收件页上出现的都会被抓到「最新一条」—— 包括但不限于:验证码类(各 App/网站 OTP、营销类、通知类发件人显示为服务名/短号(如 TRIBBU、hcloud、+***5113。若你要的是「自己刚发过去的那条」请用 `--wait` 模式(见下)。
---
## 三、整体流程(从取号到拿到短信)
```
① 请求 receivesms.co 英国号码列表页
② 随机选取一个临时号码(+44 开头)
③ [可选] --wait先输出号码等待 3060 秒(你向该号发短信),再请求该号收件页
或无 --wait直接请求该号收件页
④ 解析收件页 HTML取「最新一条」短信正文<div class="sms">
⑤ 输出NUMBER、SMS及 号码 | 短信 一行)
```
---
## 四、执行方式(命令行,不打开网页)
**脚本路径**(工作台内):
```
运营中枢/scripts/receivesms_get_sms.py
```
**用法**
| 模式 | 命令 | 说明 |
|:---|:---|:---|
| 立即取最新一条 | `python3 receivesms_get_sms.py` | 可能拿到历史/限流旧短信 |
| 等刷新后取最新 | `python3 receivesms_get_sms.py --wait` | 先出号,等 45 秒后再抓,适合「你发短信后」拿刚收到的那条 |
**执行目录**
```bash
cd /Users/karuo/Documents/个人/卡若AI/运营中枢/scripts
python3 receivesms_get_sms.py
# 或
python3 receivesms_get_sms.py --wait
```
---
## 五、输出格式
脚本标准输出示例:
```
NUMBER: +447476933927
SMS: [PUBG] code: 697881. Valid for 3 minutes.
---
+447476933927 | [PUBG] code: 697881. Valid for 3 minutes.
```
- **NUMBER**当前使用的临时号码receivesms.co 英国号)。
- **SMS**:该号码在 receivesms.co 收件页上的**最新一条短信正文**;无短信时为 `(无)`
- 最后一行:`号码 | 短信`,便于复制或管道处理。
---
## 六、付费接码平台SMSOnline · 推荐用于注册)
### 6.1 平台信息
- **网站**[premium.smsonline.cloud](https://premium.smsonline.cloud) / [smsonline.io](https://smsonline.io)
- **API 参考**`运营中枢/参考资料/smsonline_付费接码平台_API参考.md`
- **API Key**`2w9hva2mzvbubw5sj3vqwkuv9ib43ku29okhwyragkx4o2kgzw7eb9oy8pjh4gc3`
### 6.2 脚本与用法
```bash
cd /Users/karuo/Documents/个人/卡若AI/运营中枢/scripts
# 查看支持的国家
python3 smsonline_receive_sms.py --list-countries
# 查看支持的服务Soul、bilibili 等)
python3 smsonline_receive_sms.py --list-services
# 查看某国+某服务的可用号码与价格
python3 smsonline_receive_sms.py --country-id 1 --service-id 2 --products
# 完整流程:取号 → 轮询收验证码(最多 2 分钟)→ 超时自动退费
python3 smsonline_receive_sms.py --country-id 1 --service-id 2
```
### 6.3 防扣费规则(强制)
1. 轮询 get-sms 最多 **120 秒**,超时 → 自动调 `change-status(status=4)` 取消退费。
2. 收到验证码并使用后 → 调 `change-status(status=3)` 确认完成。
3. 不重复获取同一号:先取消旧订单再取新号。
4. 首次调试加 `&test=1` 不扣费。
---
## 七、参考资料与扩展
- **giffgaff 流程史记**`运营中枢/参考资料/giffgaff发短信收短信_流程史记.md`
- **receivesms 免费接码**`运营中枢/参考资料/receivesms收短信_操作.md`
- **SMSOnline 付费接码 API**`运营中枢/参考资料/smsonline_付费接码平台_API参考.md`
- **扩展**:若需按「发件人名字」或关键词过滤短信,可在本目录下扩展脚本。