https://github.com/nasdin/seriously-where-is-my-ps5
Where is my PS5?! Is a Cron bot that searches and scans Singapore Challenger's Hachi Tech for any Stock of PS5(Or any other search item of your liking). It can print and send whenever it has found a stock to the user, attached with link to the purchase. Pages are scanned every 1 second
https://github.com/nasdin/seriously-where-is-my-ps5
Last synced: 3 months ago
JSON representation
Where is my PS5?! Is a Cron bot that searches and scans Singapore Challenger's Hachi Tech for any Stock of PS5(Or any other search item of your liking). It can print and send whenever it has found a stock to the user, attached with link to the purchase. Pages are scanned every 1 second
- Host: GitHub
- URL: https://github.com/nasdin/seriously-where-is-my-ps5
- Owner: Nasdin
- License: gpl-3.0
- Created: 2021-09-04T05:13:51.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-09-04T09:01:51.000Z (over 3 years ago)
- Last Synced: 2024-12-28T13:43:23.005Z (5 months ago)
- Language: Python
- Size: 420 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Seriously-where-is-my-PS5
Where is my PS5?! Is a cron-whatsapp bot that searches and scans Singapore Challenger's Hachi Tech for any Stock of PS5(Or any other search item of your liking). It can print and send whenever it has found a stock to the user, attached with link to the purchase. Pages are scanned every 1 second## Let me know when there's a PS5 via Whatsapp
Example is given for ps4 ( You can also change the search field)

### Specifications of alerts
1. List of products found in that page that matches the `search_word`
2. For each product:
1. Description
2. Link
3. Price(s)
4. Search Page
5. Image### Bot Intervals
1.Searches the page every 1 second
2. Pauses for 1 hour when a search is found, messaging the user.# Whatsapp Setup
## Setting up environment variables for Twilio (Whatsapp)
Please ensure that the following secrets are setup for Twilio in your environment
For your machine/container/rcTWILIO_ACCOUNT_SID = os.environ.get("TWILIO_ACCOUNT_SID")
TWILIO_AUTH_TOKEN = os.environ.get("TWILIO_AUTH_TOKEN")
TWILIO_WHATSAPP_FROM = os.environ.get("TWILIO_FROM")
TWILIO_WHATSAPP_TO = os.environ.get("TWILIO_TO")`### Sending to multiple whatsapp numbers
TWILIO_TO accepts a comma separated list
example: of 2 numbers`os.environ['TWILIO_TO] = "123456,1234123"`
## If you're using Twilio Sandbox
1. This is a free feature from Twilio to get free whatsapp messaging
2. Users need to rejoin their sandbox channels
3. We remind users every 70/72 hours to rejoin by replying to twilioYou can setup the reminder message here:
sandbox_rejoin_message = "join turquoise-dolphin"
# Parameters
## Search parameters
They can be either modified in script main.py
Or modified via environment variables### Search terms
`SEARCH_ITEM` - Case insensitive match if a product description contains this term.
Can be changed using the environment variable `SEARCH_ITEM`
`HACHI_SEARCH_PAGE_LINK` - A category page in Hachi Tech, can be nested or unnested.
This is the page where our product may appear in.
The higher the level, the more irrelevant results.Can be changed using the environment variable `SEARCH_PAGE_LINK`
# Setting up the Project
We assume you have Python 3 installed
1. Git clone the project
2. Run the project by:In your terminal:
`python main.py`3. Install dependencies
In your terminal:
`pip install -r requirements.txt`4. This was designed with pure Python in mind without bs4/scrapy so that I can run it in my crap-machine 24/7
## Project setup suggestions
1. You can have the python script running constantly 24/7 in your own laptop as you work,
2. Or you may setup a container yourself in GCP/AWS/Azure that constantly runs this in terminal# Preview
Whatsapp Alert Messaging
I set it to search for Ps4 in this Image
Console Logs while its searching

## Comments
#### "Why your code is so ugly and has no test"
I wrote it in 3 hours on a Saturday morning, I have a full time job and family and I just need something to get the job done.
It was intended that everything fits into a single main.py function because I have a crap 1ghz machine that pulls this script along other cron scripts to do my bidding.
This runs 24/7#### "Can it support X/Y/Z"
Listen, open source is where I put out my own creations for my own use, but I just happen to share it to the public out of my own free time and kindness.
You are free to make a request, but I have no obligation to work for you, unless you are my paymaster.
If your requests looks like something that will benefit >me< as well, then I will give it a shot and add it in.
PRs are welcome.