跳到主要内容

油价调价提醒

收藏0

国内成品油调价日提醒:只在调价窗口日检查发改委调价通知,一发布就把本省新价格、涨跌幅和下一次调价窗口日推送到 QQ。

让 AI 安装

Minsaroun最新版本 0.1.0更新于 2026-10-30下载 0 次

SKILL.md

3.1 KB查看排版效果
1---
2name: oil-price-watcher
3description: 国内成品油调价日提醒。只在调价窗口日自动检查油价调整通知(16/17 时左右发改委发布),通知一出就把本省新价格、涨跌幅和下一次调价窗口日推送到 QQ;平时不跑,按调价日历动态调度。
4---
5
6# 油价调价提醒
7
8能做什么:盯住国内成品油调价窗口日(发改委每 10 个工作日调一次),只在调价日当天自动检查调价通知是否发布,一发布就推送新价格、涨跌幅度和下一次调价日期;日常不联网不运行,按调价日历动态调度 cron。
9
10- 带脚本:是(纯 Python 标准库,无第三方依赖)
11- 联不联网:联网(搜油价网 soyoujia.cn,免费)
12- 写不写文件:会读写同目录下的 `oil_notify_config.json`(推送参数)、`oil_notify.log`(运行日志)、`crontab.bak`(crontab 备份),并重写用户 crontab 里的油提醒调度行
13
14## 用法
15
16```
17python3 oil_notify.py # 正常跑:在调价日检查通知并推送,然后重写下次 cron
18python3 oil_notify.py --dry-run # 只打印,不推送、不改 cron
19python3 oil_notify.py --sim-date 2026-11-12 # 模拟指定日期测试各分支
20```
21
22## 第一次安装
23
241. 把本文件夹放到固定位置(例如 `~/oil-notify`)。
252. 复制配置模板并填好推送参数:
26
27 ```
28 cp oil_notify_config.json.example oil_notify_config.json
29 # 编辑 oil_notify_config.json:qq_user_id / one_bot_url / one_bot_token
30 ```
31
32 也可以不建配置文件,改用环境变量 `QQ_USER_ID`、`ONE_BOT_URL`、`ONE_BOT_TOKEN`。
33
343. 先手动跑一次,把 cron 装好(会算出下一次调价窗口日并写入 crontab):
35
36 ```
37 cd ~/oil-notify && python3 oil_notify.py
38 ```
39
404. 确认 `crontab -l | grep oil_notify` 里有一行 `0 17 <日> <月> * cd ... && python3 oil_notify.py >> oil_notify.log 2>&1`。
41
42## 机制说明
43
44- 数据源:搜油价网 `https://www.soyoujia.cn/`(首页有「距下次调整还有 N 天(M月D日)」倒计时,省份页有近 3 个月调价表)。
45- 调价规律:发改委调价日 17:00 左右发布调价通知(要调价时;搁浅时 15:00 左右),24 时生效。默认 17:00 查询。
46- 动态调度:脚本每次跑完把 crontab 里的调度行重写为下一次调价窗口日(只写一条,不克隆旧行,并有 `crontab.bak` 备份)。
47- 防漏:窗口日 17:00 若页面还没更新,自动改到次日 08:00 补查一次;非调价日误触发只校准日期、不推送。
48- 推送内容:新价格(89/92/95/98 汽油 + 0 号柴油)、较上次涨跌幅、下一次调价窗口日。
49
50## 通知(可选)
51
52默认推送到 OneBot 兼容网关(如 NapCat / Lagrange 的 HTTP API)。在 `oil_notify_config.json` 填:
53
54```json
55{
56 "qq_user_id": "123456789",
57 "one_bot_url": "http://127.0.0.1:3000/send_private_msg",
58 "one_bot_token": "你的OneBot访问token"
59}
60```
61
62不想要推送时把 `qq_user_id` 留空,脚本只写日志不发送。cron 行里不写任何密钥,token 只放在 `oil_notify_config.json`(该文件不要分享给任何人)。

文件内容是平台检查时读出的文本,只供查看。平台不会运行包里的任何脚本或程序。