由於庫存波動,在歐洲獲得翻新的 Steam Deck 可能具有挑戰性。這個基於 Python 的可用性檢查器可自動執行該過程,並在出現翻新設備時提供即時通知。 這篇文章詳細介紹了該計畫的技術實現並鼓勵社區貢獻。
專案概覽
此 Python 腳本監視 Steam 商店在歐洲是否有翻新的 Steam Deck。 利用 ntfy 通知服務,當庫存有貨時,它會立即提醒用戶。 本專案展示如何使用現成的 Python 函式庫和 API 來有效率地解決問題。
功能
腳本運行如下:
核心邏輯:
<code class="language-python">from urllib.request import urlopen # Configure your ntfy URL ntfy_url = "ntfy.sh/YOUR_NTFY_URL" # Timeout to prevent script hang-ups timeout = 8 def parse_availability(data: bytes) -> bool: parsed = " ".join(f"{c:02X}" for c in data) not_available = "08 00 10 00" return parsed != not_available def is_available(id_: str) -> bool: url = ( "api.steampowered.com/IPhysicalGoodsService/" "CheckInventoryAvailableByPackage/v1?origin=" f"https://store.steampowered.com&input_protobuf_encoded={id_}" ) with urlopen(f"https://{url}", timeout=timeout) as response: data = response.read() return parse_availability(data) def notify(name: str) -> None: message = f"Refurbished {name} Steam Deck is available!" print(message) with urlopen(f"https://{ntfy_url}", data=str.encode(message), timeout=timeout): pass if __name__ == "__main__": # Uncomment for notification testing # notify("TEST") # Refurbished 64GB (European region, tested in Poland) if is_available("COGVNxICUEw="): notify("64GB")</code>
執行
ntfy_url
替換為您的個人 ntfy URL(從 ntfy 網站取得一個)。 建議使用ntfy行動應用程式進行通知。 ntfy.sh
和 api.steampowered.com
新增至 Internet Explorer 設定中的受信任網站。 結論
該專案強調了簡潔的 Python 腳本在實際任務中的強大功能。它是 API 互動、通知和 Python 自動化的寶貴學習資源。 完整程式碼在GitHub上,歡迎貢獻和客製化。
以上是為歐洲翻新蒸汽甲板建造可用性檢查器的詳細內容。更多資訊請關注PHP中文網其他相關文章!