kuulatoribot
- 📅 2023-10-17T14:08:59.543Z
- 👁️ 156 katselukertaa
- 🔓 Julkinen
import requests
import os
import json
from bs4 import BeautifulSoup
from time import sleep
discord_webhook = os.environ["WEBHOOK"]
def send_discord_notification(item):
discord_embed = data = {
"content" : "New kuulatori item just dropped!",
"username" : "Kuulatori watcher"
}
discord_embed["embeds"] = [
{
"description" : item["price"] + " - https://kuulatori.fi/item/" + item["id"],
"title" : item["title"]
}
]
result = requests.post(discord_webhook, json = discord_embed)
try:
result.raise_for_status()
except requests.exceptions.HTTPError as err:
print(err)
else:
print("Payload delivered successfully, code {}.".format(result.status_code))
def check_listings():
f = open('data.json')
database = json.load(f)
f.close()
r = requests.get("https://kuulatori.fi/")
soup = BeautifulSoup(r.text, 'html.parser')
listings = soup.find_all("div", class_="panel panel-default panel-item")
for listing in listings:
item = {}
item["id"] = listing.find_all(href=True)[0]["href"].replace("/item/", "")
item["title"] = listing.find("a").text
item["price"] = listing.find("strong").text
if not item["id"] in database:
print(item)
database[item["id"]] = item
with open('data.json', 'w') as f:
json.dump(database, f)
send_discord_notification(item)
while True:
try:
check_listings()
except Exception as e: print(e)
sleep(60*5)