iT邦幫忙

2025 iThome 鐵人賽

DAY 11
0
自我挑戰組

IT工具與自我學IT的過程分享系列 第 11

Day 2|3 分鐘上手:在 LINE 上指揮你的搶票小幫手

  • 分享至 

  • xImage
  •  

Day 2|3 分鐘上手:在 LINE 上指揮你的搶票小幫手 😎

「別讓 F5 決定你的命運」——用聊天指令就能開啟 24/7 看票模式

先看成品長怎樣(安心服用)

[通知長這樣]
https://ithelp.ithome.com.tw/upload/images/20250925/20178823HCDFFxmvMM.png
收到的 LINE 通知會包含:活動名稱、地點/日期、座位圖、以及各區票況(✅ 可售|🟢 熱賣中|🔴 售完),外加原始連結與任務代碼。


1 分鐘:加入 + 下第一個指令

[上手流程]
https://ithelp.ithome.com.tw/upload/images/20250925/20178823ssYOhUKa6A.png

  1. 加入 LINE Bot(掃 QR / 加好友)
  2. 傳送 /start/help → 會回使用說明
  3. 傳送 /watch <活動頁URL> 60 → 每 60 秒檢查一次
  4. 想立刻看:/check <URL 或 任務ID>
  5. 想停用:/unwatch <任務ID>,管理清單:/list

小提示:先用你最想搶的那一場示範看看,感受一下通知節奏。


指令小抄(收藏型)

[指令速查]
https://ithelp.ithome.com.tw/upload/images/20250925/201788238rEltX8xPW.png

指令 用途 範例
/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...

你的「抗吵程度」是多少?(頻率 vs. 通知量)

[頻率與吵度]
https://ithelp.ithome.com.tw/upload/images/20250925/20178823BqXdWEHKPz.png

  • 建議入門值:60 秒(很「紳士」)
  • 手刀玩家:20–30 秒(比較吵,但更即時)
  • 超佛系:120–300 秒(睡覺專用)

註:若設定「有變化才通知」(非 ALWAYS_NOTIFY),實際通知量會更低、更舒服。


生活化情境 3 連發(你是哪一種?)

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))

30 秒 Troubleshooting(最常見 3 種)

  • URL 貼錯:確定是 ibon 活動詳情頁連結,不是新聞/社群貼文。

  • 太吵:把 ALWAYS_NOTIFY=0(有變化才通知),或把間隔調長。

  • 太安靜:降低間隔(例如 60 → 30 秒),或確認活動真的有變化(有些時段本來就很平靜)。

小遊戲 🎯

今天留言區貼上你想監看的 ibon 活動網址,寫下你的「抗吵間隔值」(10、20、60、120 s),我會挑幾個當作 Day 3 的示範測試案例!


上一篇
Day 1|為什麼我會想做一個「清票自動偵測系統」?
下一篇
Day 3|技術不嚇人:整體架構與雲端低維運怎麼做到
系列文
IT工具與自我學IT的過程分享12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言