This script monitors the Steam Deck refurbished store page and sends SMS notifications when a Steam Deck becomes available.
- Install the required Python packages:
pip install selenium webdriver-manager twilio- Configure your Twilio credentials and phone numbers in
config.py:
TWILIO_ACCOUNT_SID = "your_account_sid"
TWILIO_AUTH_TOKEN = "your_auth_token"
TWILIO_PHONE_NUMBER = "your_twilio_number"
RECIPIENT_PHONE_NUMBER = "your_phone_number"You have two options for configuring your credentials and settings:
Open config.py and fill in your details:
TWILIO_ACCOUNT_SID = "your_account_sid"
TWILIO_AUTH_TOKEN = "your_auth_token"
TWILIO_PHONE_NUMBER = "your_twilio_number"
RECIPIENT_PHONE_NUMBER = "your_phone_number"
STEAM_DECK_URL = "https://store.steampowered.com/sale/steamdeckrefurbished"- Install the
python-dotenvpackage:pip install python-dotenv
- Create a file named
.envin your project root with the following structure:TWILIO_ACCOUNT_SID=your_account_sid TWILIO_AUTH_TOKEN=your_auth_token TWILIO_PHONE_NUMBER=+1234567890 RECIPIENT_PHONE_NUMBER=+1234567890 STEAM_DECK_URL=https://store.steampowered.com/sale/steamdeckrefurbished
- The script will automatically load these values. Do not share your
.envfile or commit it to public repositories. - You can provide a
.env.example(with placeholder values) for others to use as a template.
The script can use either Chrome or Firefox as the web driver. To switch between them:
- Install Chrome browser if you haven't already
- Modify
get_my_deck.pyto use Chrome imports and driver:
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
# In the start() function:
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=browser_options)- Install Firefox browser if you haven't already
- Use the current Firefox configuration in
get_my_deck.py:
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.firefox.options import Options
from webdriver_manager.firefox import GeckoDriverManager
# In the start() function:
service = Service(GeckoDriverManager().install())
driver = webdriver.Firefox(service=service, options=browser_options)Simply run:
python get_my_deck.pyThe script will:
- Check the Steam Deck store page every 20 seconds
- Send an SMS notification when a Steam Deck becomes available
- Automatically restart the browser every 11 checks to prevent memory issues
- The script uses headless mode by default (browser runs in the background)
- Make sure you have a stable internet connection
- The script will continue running until you stop it (Ctrl+C)