Compare commits

..

No commits in common. "3ee34e37a89032201ed8c4c0a9b926696dafc34d" and "44362f32abd2035bf12c6ad517547ca04027046d" have entirely different histories.

3 changed files with 0 additions and 88 deletions

2
.gitignore vendored
View File

@ -3,5 +3,3 @@ venv/
__pycache__/
*.py[cod]
config.py

84
main.py
View File

@ -1,84 +0,0 @@
"""buyvm stock checker"""
import requests
from bs4 import BeautifulSoup
from config import DISCORD_WEBHOOK
BASE_URL = 'https://my.frantech.ca/'
URLS = [
'https://my.frantech.ca/cart.php?gid=37', # Las Vegas
'https://my.frantech.ca/cart.php?gid=38', # New York
'https://my.frantech.ca/cart.php?gid=48', # Miami
'https://my.frantech.ca/cart.php?gid=39', # Luxembourg
]
def send_notification(payload):
try:
requests.post(DISCORD_WEBHOOK, json=payload)
except requests.RequestException as e:
print(f'error sending notification: {str(e)}')
def get_url(url):
try:
response = requests.get(url)
response.raise_for_status()
except requests.RequestException as e:
print(f'error fetching {url}: {str(e)}')
return None
return response.text
def get_packages(html):
soup = BeautifulSoup(html, 'html.parser')
packages = []
package_elements = soup.find_all('div', class_='package')
for package_element in package_elements:
package = {}
package_name = package_element.find('h3', class_='package-name').text.strip()
package['name'] = package_name
package_quantity = package_element.find('div', class_='package-qty').text.strip()
package['qty'] = int(package_quantity.split()[0])
order_button = package_element.find('a', class_='btn-primary')
if order_button:
order_url = order_button['href']
package['url'] = BASE_URL + order_url
else:
package['url'] = ''
packages.append(package)
return packages
def main():
for url in URLS:
html = get_url(url)
packages = get_packages(html)
for package in packages:
if package['qty'] > 0:
send_notification({
"username": "stockbot-buyvm",
"embeds": [
{
"author": {
"name": "BuyVM",
},
"title": package['name'],
"url": package['url'],
"description": f"{package['qty']} in stock now!"
}
],
"content": "STOCK ALERT"
})
if __name__ == '__main__':
main()

View File

@ -1,2 +0,0 @@
beautifulsoup4
requests