【閒聊】iPhone 現貨通知程式開發

前言:

還記得剛上大學時,買了當時最新的 IPHONE 12 pro,一直以來都頭好壯壯,甚至螢幕保護貼破掉的次數不到3次,真的是非常愛惜他!前陣子下雨天出門時,耳機聽筒淋到一點雨,導致 Face ID 壞掉了(乾),但這時候剛好錯過首批搶購,要等待現貨真的是需要一段時間,只好每天不斷刷新現貨,看能不能有狗屎運被我刷到,但我發現人工刷現貨實在太浪費時間,所以我自己寫了一個簡單的程式來自動刷現貨!沒有Face ID 好痛苦ㄚㄚㄚㄚQQ

技術棧:

  • Python (both)
  • Django (Line version)
  • MySQL (Line version)
  • Line Message API (Line version)
  • Tkinter (Local version)
  • Line Notify (Local version)

Line version:

為了讓大家更方便地獲取 IPHONE 現貨資訊,我們現已推出了全新的付費服務!完全不需要程式能力,只需要在購買>>在LINE上設定>>完成!

服務內容:

  • 價格:每個 Token 價格為 50 TWD。
  • 通知次數:每個 Token 可獲得 3 次成功通知機會。
    • 成功通知是指當有現貨時,我們成功通知到您;若無現貨則不計算通知次數。
  • 檢查頻率:每 5 分鐘自動檢查一次庫存狀態,確保您第一時間獲知現貨資訊。
  • 專屬綁定:一個 Token 只能綁定一支手機。如需同時監控多個 iPhone,請購買相應數量的 Token。

使用手冊:

step1:購買 Token

iPhone step1
step1

step2:添加 Line 官方聊天室

step2
step2

step3:依照指示添加收到的 Token

step3
step3

step4: 耐心地尋找一下自己想要的機型,並點”選擇”

step4
step4

step5: 滿懷期待地收到通知吧!

step5
step5

此付費服務免除了您自行安裝和操作程式的麻煩,讓您更輕鬆地獲得現貨通知,搶先購買心儀的 iPhone!

Local version:

說明:

  • 即時現貨檢查:定時檢查選定機型的庫存狀態,確保您能第一時間獲知現貨信息。
  • 多機型支持:支持多款 iPhone 型號,包括 iPhone 16 、 iPhone 16 Pro、 iPhone 16 Plus、iPhone 16 Pro Max。
  • Line 通知:通過 Line Notify 發送現貨通知,讓您不錯過任何購買機會。
  • 友好的 GUI:使用 Tkinter 提供直觀的圖形介面,操作簡便。
  • 日誌記錄:實時顯示監控日誌,讓您了解程式運行狀態。

使用手冊:

step1 啟動應用程式

終端中運行以下命令啟動應用程式:

cd apple-store-notifyer
python main.py

step2 設置 Line Notify Token

在主頁面中,找到「Line Notify Token」的輸入框,輸入您的 Line Notify Token。您可以通過 Line Notify 官方網站 獲取 Token。

(使用教學參考連結)

!!注意!! Line Notify 於 2025 年3 月 31 日結束本服務。後續需要其他替代方案。

step3 選擇 iPhone 機型

在「請選擇機型」部分,選擇您想要監控的 iPhone 機型(如 iPhone 16)。選擇後,相應的型號列表將顯示在下方的表格中。

step4 選擇型號

在型號列表中,選擇您想要監控的具體 iPhone 型號。

step5 開始監控

選擇完型號後,點擊「開始監控」按鈕。此時,所有設置按鈕和輸入框將被禁用,程式將自動跳轉到「監控」頁面,並開始定時檢查庫存狀態。

step6 查看監控日誌

在「監控」頁面,您可以實時查看程式的運行日誌,包括現貨狀態更新和通知發送情況。

step7 停止程式

若要停止監控,請關閉應用程式窗口。

備註:

  1. local version 的有 github 鏈結,讓會使用 python 的人可以方便免費的使用~
  2. 此專案使用 AGPL 授權。詳情請參見 LICENSE 文件。請不要非法商用唷!

心得:

該專案讓我學到滿多技能,像是我第一次使用 Line Message API,了解它背後的流程,也自己建立 webhook,並且成功地把後端服務架設到虛擬機上,也了解到如何在虛擬機上設定 cron job 來進行排成任務,減少資源浪費。這些都讓我更深刻的了解一項服務的誕生是如此的有挑戰,未來希望可以再做更多微服務,幫助大家解決生活上的困難!如果有任何問題,歡迎聯絡我

分享出去