跳转到内容

自动化的触发方式与步骤

「自动化」页里脚本的全部选项。从头建一个脚本的步骤见写一个自动化脚本。

「套用模板」会填好触发方式、用途、描述和步骤。周期和执行目标仍要自己填。

模板 默认触发 步骤
「发短信保号」 固定间隔 发一条短信,再推送通知。收件号码与内容是示例,要改成运营商认可的
「流量保号」 固定间隔 经这张卡的移动数据下载 1 MB,再推送通知
「定时换 IP」 固定间隔 只有「切换 IP」一步。换 IP 成功本身会推送通知
「Tello 充值保号」 手动 发充值短信,等运营商回复,等你输入银行卡有效期,发出,再推送通知。是一个示例流程
字段 说明
「名称」 必填
「描述」 可选
「用途」 「通用」或「保号」。保号脚本在列表里以「保号」开头
「启用」 停用的脚本不会被任何方式触发。列表里每行的开关拨了立即生效
「触发方式」 要填的 说明
「手动」 无 只在点「运行」时执行。也可以给机器人发 /run <脚本名或ID>
「定时(cron)」 「Cron 表达式」 标准 5 段:分、时、日、月、周。0 3 * * * 是每天 3 点,0 * * * * 是每小时整点。最细到每分钟
「固定间隔」 「每隔多少天」 0–365 天,0 表示不执行
「入站短信」 「匹配正则」 收到匹配的短信时执行,留空匹配全部短信。正则写不对时,退化为按文字包含匹配
「设备事件」 「关心哪些事件」 「设备离线」「设备恢复」「控制面可疑」「控制面重建中」「控制面恢复」「漫游禁止表容量不足」,不选表示全部
  • cron 表达式保存时不检查。写错了脚本不会执行,只在日志里留一条记录。
  • 「固定间隔」只能按天填。要按小时或分钟执行,改用「定时(cron)」。
  • 定时或间隔脚本上一次还没跑完时,这一轮跳过。
  • 「设备事件」触发的脚本,目标要选「按设备」;选「按卡」永远不会被触发。
「目标」 说明
「任意设备」 不指定。「入站短信」触发时用收到短信的那台设备;其他触发方式下,需要设备的步骤会失败
「按设备」 选一台设备
「按卡」 选一张卡,按 ICCID 认。卡换到别的设备上,脚本仍跟着这张卡

勾选「手动填写」可以直接写 device:<设备ID> 或 iccid:<卡号>。

目标是 eSIM 上一个没启用的 Profile 时,可以让脚本先切过去,执行完再切回。只有「手动」「定时(cron)」「固定间隔」三种触发方式能用。

字段 说明
「执行前自动切换到此卡,执行后切回」 在「切卡」里勾选。这张卡已经是启用状态时不用勾
「通话在途时重试」 到点时正在通话,最多再试几次,默认 5 次
「重试间隔(秒)」 两次重试之间等多久,默认 60 秒。等完仍在通话就跳过这一次

切走后没能切回时,nSIM 会推送通知,并在「自动化」页列出「待处理的切卡」。每条写着设备可能停在哪个 Profile、应该切回哪个。到那台设备的 eSIM 页确认并手动切回后,点「已处理,移除记录」。这个按钮只删除记录,不操作 SIM 卡。

「步骤」是一个 JSON 数组,每一步写成 {"type": "步骤类型", "params": {参数}}。JSON 写错时,保存会提示「步骤 JSON 无效」。

type 做什么 参数 说明
send_sms 发送短信 to(必填)、text 发出的短信记进短信页。超时 30 秒
delay 等待 duration(如 5s、2m)或 seconds 最长 24 小时
notify 推送通知 text(必填) 发到所有已启用的通知渠道
set_var 设置变量 name、value
condition 条件判断 left、op、right、on_false 不满足时默认正常结束;on_false 为 fail 时算失败
wait_reply 等待回复短信 pattern、timeout、save_as pattern 是正则。只匹配目标设备收到的短信。默认存进变量 reply
wait_input 等待输入 prompt、timeout、save_as 推送一条通知请你输入。默认存进变量 input
extract 提取内容 source、pattern、save_as、on_no_match 用正则取第一个括号分组。默认存进变量 extracted
send_ussd 发送 USSD command、save_as 例如 *100#。回复默认存进变量 ussd_response。超时 45 秒
consume_data 消耗流量 bytes、kb、mb 三选一 经这张卡的移动数据下载指定大小的数据。超时 5 分钟
place_call 拨打电话 to、hold_seconds 经 VoWiFi 拨出。设备语音没就绪时失败
rotate_ip 切换 IP save_old_as、save_new_as 与手动换 IP 相同。默认存进变量 old_ip、new_ip

condition 的 op 可用:eq ne contains not_contains empty not_empty gt lt gte lte。

wait_reply 与 wait_input 的 timeout 默认 2 分钟,最长 30 分钟;纯数字按秒算。

参数里用 {{变量名}} 引用变量,不存在的变量替换成空字符串。

触发方式 自带的变量
「入站短信」 sms_content、sms_sender、device_id、iccid 等
「设备事件」 device_id、event_kind、event_reason

wait_input 推送的通知形如「[自动化 #12] 请提供银行卡有效期(MMYY)(回复 /input 12 <内容> 提供输入)」。交输入有两种办法:

  • 在「运行历史」里点这次运行,在「输入」里填写,点「提交」。
  • 给 Telegram、飞书或 QQ 机器人发 /input 12 0129 这样的命令。
操作 说明
「运行」 立即真实执行全部步骤,可能产生费用且无法撤回。之后页面切到「运行历史」
「试运行」 按已保存的版本走一遍,不产生费用,不留运行记录。等待类步骤不会真的等,部分步骤的返回值是模拟的
「版本历史」 每次保存自动存一版,保留最近 20 版。「回滚到此版本」恢复旧版
「删除脚本」 彻底删除,不能恢复

每次运行一行,写着脚本名、状态、触发来源和运行编号。点一行看开始与结束时间、每一步的日志。失败原因写成「第 N 步(步骤名)失败:…」。

状态 含义
「排队中」 等待执行
「运行中」 正在执行
「等待回复」 停在 wait_reply,等短信
「等待输入」 停在 wait_input,等你交输入
「成功」 全部步骤完成
「失败」 某一步失败
「已取消」 被取消

触发来源:「手动运行」「定时触发」「间隔触发」「短信触发」「事件触发」。

运行记录默认保留 30 天,在「设置 › 数据与备份」的「自动化运行记录」里改。脚本运行失败本身不推送通知。

自动化发出的短信、电话、USSD 和切卡都记进审计日志,标明是哪个脚本,见诊断页。用 API 管理脚本需要 automation:write,见API 权限范围。