「別讓 F5 決定你的命運」——用聊天指令就能開啟 24/7 看票模式
[通知長這樣]
收到的 LINE 通知會包含:活動名稱、地點/日期、座位圖、以及各區票況(✅ 可售|🟢 熱賣中|🔴 售完),外加原始連結與任務代碼。
[上手流程]
/start
或 /help
→ 會回使用說明/watch <活動頁URL> 60
→ 每 60 秒檢查一次/check <URL 或 任務ID>
/unwatch <任務ID>
,管理清單:/list
小提示:先用你最想搶的那一場示範看看,感受一下通知節奏。
[指令速查]
指令 | 用途 | 範例 |
---|---|---|
/watch <URL> [秒] |
建立/更新監看 | /watch https://ibon... 60 |
/list / /list off / /list all |
查看任務清單 | /list |
/unwatch <ID> |
停止監看 | /unwatch W123456 |
`/check <URL | ID>` | 立即查票 |
/start /help |
說明與歡迎訊息 | /help |
/probe <URL> |
回傳診斷 JSON(進階) | /probe https://ibon... |
[頻率與吵度]
註:若設定「有變化才通知」(非 ALWAYS_NOTIFY),實際通知量會更低、更舒服。
A. 會議中低頭有風險型
/watch
一下就去開會;有票 LINE 會提醒你。會議後再衝也來得及。
B. 追三場演唱會的鐵粉型
同時
/watch
多個活動頁:誰先有票就先叫你。
C. 佛系但怕錯過型
間隔設 120 秒+只在變化時通知。安靜又不漏接。
不接 LINE 也能先感受訊息排版。把
demo
換成 Day 4 解析出的資料即可。
# pip install beautifulsoup4 lxml requests
def format_line_message(info):
ev = info["event"]
lines = [f"🎫 {ev['title']}",
f"📍 {ev['venue']} 🗓 {ev['datetime']}",
""]
avail = [a for a in info["areas"] if a["status"].isdigit()]
hot = [a for a in info["areas"] if a["status"] == "熱賣中"]
sold = [a for a in info["areas"] if a["status"] == "已售完"]
if avail:
lines.append("✅ 可售:" + " ".join(f"{a['name']} {a['status']}" for a in avail[:8]))
if hot:
lines.append("🟢 熱賣中:" + "、".join(a["name"] for a in hot[:10]))
if sold:
lines.append("🔴 售完:" + "、".join(a["name"] for a in sold[:10]))
lines += ["", "來源:ibon", "任務代碼:W123456 間隔:60 秒", "→ 立即前往購票(點此)"]
return "\n".join(lines)
# 假資料示例
demo = {
"event": {"title":"The Example Tour in Taipei", "venue":"臺北小巨蛋", "datetime":"2025-12-01 19:30"},
"areas": [
{"name":"A1", "status":"25"},
{"name":"A2", "status":"14"},
{"name":"C1", "status":"熱賣中"},
{"name":"E1", "status":"已售完"},
]
}
print(format_line_message(demo))
URL 貼錯:確定是 ibon 活動詳情頁連結,不是新聞/社群貼文。
太吵:把 ALWAYS_NOTIFY=0(有變化才通知),或把間隔調長。
太安靜:降低間隔(例如 60 → 30 秒),或確認活動真的有變化(有些時段本來就很平靜)。
今天留言區貼上你想監看的 ibon 活動網址,寫下你的「抗吵間隔值」(10、20、60、120 s),我會挑幾個當作 Day 3 的示範測試案例!