Welcome to your customized AutoCheckout Hub! This system is designed to monitor and automate checkouts for Target, BestBuy, Walmart, and Topps. It features an interactive dashboard, real-time logging, Discord integration for remote control, and a scalable architecture that prevents bot crashes by isolating each task.
Before running the hub, ensure you have the correct environment set up.
- Python 3.10+ (Required for the backend and bots).
- Node.js 18+ (Required for the Next.js Dashboard).
- Google Chrome installed on your Windows machine.
-
Install Python Dependencies: Open a terminal in the
backendfolder and run:pip install fastapi uvicorn sqlalchemy python-dotenv discord.py requests undetected-chromedriver playwright loguru bs4
Note: For Walmart to work, you must also install the Playwright browsers by running:
playwright install chromium
-
Install Frontend Dependencies: Open a terminal in the
frontendfolder and run:npm install
The system uses Discord both to send you live logs and to accept remote commands (like un-pausing bots).
In your backend folder, there must be a file named .env. If it doesn't exist, create it. It should look like this:
# The webhook URL where the bot will push log messages
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/...
# Your Discord Bot Token (used for reading commands like "enter 10")
DISCORD_BOT_TOKEN=MTUwNjU1...
# The specific Channel ID where the bot should listen for your commands
DISCORD_CHANNEL_ID=1506555386101235865To read your commands (like enter 12 or stop 12), your actual Discord Application must be invited to your server:
- Go to the Discord Developer Portal and log in.
- Click your bot application. On the left menu, go to Bot, scroll down to Privileged Gateway Intents, and toggle ON the
MESSAGE CONTENT INTENT. Save changes. - On the left menu, click OAuth2 -> URL Generator.
- Under "Scopes", check
bot. Under "Bot Permissions", checkRead Messages/View ChannelsandSend Messages. - Copy the generated URL at the bottom, paste it in a new tab, and Authorize it to join your server.
If you ever want to change the channel or bot token:
- Open
backend/.env. - Replace
DISCORD_WEBHOOK_URLwith a new webhook link. - Replace
DISCORD_BOT_TOKENwith a new bot token. - Replace
DISCORD_CHANNEL_IDwith the ID of the new text channel (Right-click a channel in Discord and select "Copy Channel ID"). - Restart the Backend for changes to take effect.
To use the Hub, you need to start both the backend and the frontend.
-
Start the Backend (API & Bots): Open a terminal in
g:\Personal\fver\fiverr\backendand run:python -m uvicorn main:app --reload --port 8000
Leave this terminal open in the background.
-
Start the Frontend (Dashboard): Open a new terminal in
g:\Personal\fver\fiverr\frontendand run:npm run dev
Leave this terminal open as well.
-
Open the Dashboard: Open your browser and navigate to http://localhost:3000.
The dashboard is your centralized command center.
- In the Monitored SKUs section, type the product SKU (e.g.,
94681777). - Select the Site from the dropdown (Target, Walmart, BestBuy, Topps).
- Select the desired Quantity.
- Click Add. The SKU will be saved to your local database and appear in the table below.
- Find the SKU you want to run in the table.
- Click the green Play (▶) button under Actions.
- The bot will instantly launch in the background. A physical Google Chrome window will appear on your screen, operating entirely on its own.
- Note: You can click Play on multiple SKUs at the same time. The system creates isolated Chrome profiles for every task so they never crash each other.
- Watch the System Logs section on the bottom right.
- You will see live updates like
[INFO] Bot browser starting...,[INFO] Added to cart!, or[SUCCESS] Task Finished.
Sometimes, bots get blocked by Captchas, or a site like Walmart requires you to log in to proceed. The bot will not crash. Instead, it will Pause.
- The Dashboard will show the task status in orange as Paused.
- The System Logs (and your Discord channel) will warn you:
[ERROR] Not logged inor[ERROR] Captcha detected. - The physical Chrome browser will freeze, allowing you time to solve the issue.
- Go to the open Chrome window and manually solve the Captcha or log into your account.
- Go back to your Dashboard.
- In the Active Tasks panel, click the orange Resume button next to the paused task.
- The bot will instantly wake up and continue!
If you are away from your PC and using a remote desktop viewer on your phone:
- You will see a notification in Discord that Task
10is paused. - Go to your remote viewer, solve the Captcha on the PC.
- In your Discord channel, simply type:
enter 10 - The Discord Bot will reply
✅ Sent enter keystroke to Task 10, and the bot on your PC will instantly resume checkout!
If you want to permanently kill a bot (whether it's running or paused):
- From Dashboard: Click the Red Square (Stop) button next to the spinning loader icon in the SKU table.
- From Discord: Type
stop 10(replace 10 with your Task ID). The bot will securely terminate the process and close the browser.
- Database: All tasks, SKUs, and logs are stored locally in
backend/checkout.db(a SQLite database). - Chrome Profiles: Every time a bot runs, it creates an isolated folder in
C:\temp\profile_<task_id>. This stores cookies. If you log into Walmart on Task 5, Task 5 will remember your login forever.
- "Failed to reach backend": Ensure the python
uvicornterminal is still running without errors. - Bot opens then closes immediately: The bot likely threw an error before it could even start. Check the
backendterminal for raw python tracebacks. - Playwright errors: If Walmart fails to start, ensure you ran
playwright install chromiumin your backend folder.