first working demo
This commit is contained in:
commit
84f8e4b299
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.*
|
59
checker.py
Normal file
59
checker.py
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
from tgtg import TgtgClient
|
||||||
|
from pprint import pprint
|
||||||
|
import json
|
||||||
|
import time
|
||||||
|
import requests
|
||||||
|
import random
|
||||||
|
#import schedule
|
||||||
|
from collections import defaultdict
|
||||||
|
|
||||||
|
previous = defaultdict(int)
|
||||||
|
|
||||||
|
creds = {}
|
||||||
|
|
||||||
|
|
||||||
|
with open('.credentials.json', 'r') as f:
|
||||||
|
creds = json.load(f)
|
||||||
|
|
||||||
|
with open('.config.json', 'r') as f:
|
||||||
|
config = json.load(f)
|
||||||
|
NTFY_CHANNEL = config["ntfy_channel"]
|
||||||
|
watchlist = config["watchlist"]
|
||||||
|
|
||||||
|
NTFY_CHANNEL_DEBUG = NTFY_CHANNEL + "-debug"
|
||||||
|
|
||||||
|
|
||||||
|
client = TgtgClient(access_token=creds["access_token"], refresh_token=creds["refresh_token"], user_id=creds["user_id"], cookie=creds["cookie"])
|
||||||
|
|
||||||
|
|
||||||
|
def check(item):
|
||||||
|
#pprint(item)
|
||||||
|
available = int(item["items_available"])
|
||||||
|
id = item["store"]["store_id"]
|
||||||
|
print(f"{id:<10} - { item['display_name']}: { item['items_available']} available")
|
||||||
|
if available != previous[id]:
|
||||||
|
previous[id] = available
|
||||||
|
notify(f"{ available } disponibles para {item['display_name'] }")
|
||||||
|
return available
|
||||||
|
|
||||||
|
|
||||||
|
def notify(data, url=NTFY_CHANNEL):
|
||||||
|
requests.post(url,
|
||||||
|
data=data.encode(encoding='utf-8'))
|
||||||
|
|
||||||
|
|
||||||
|
def check_watchlist():
|
||||||
|
total = 0
|
||||||
|
for id in watchlist:
|
||||||
|
item = client.get_item(id)
|
||||||
|
total += check(item)
|
||||||
|
time.sleep(random.randint(2, 10))
|
||||||
|
notify(f"List checked. Total available: {total}", url=NTFY_CHANNEL_DEBUG)
|
||||||
|
|
||||||
|
|
||||||
|
#schedule.every(1).minutes.do(check_watchlist)
|
||||||
|
|
||||||
|
while True:
|
||||||
|
#schedule.run_pending()
|
||||||
|
check_watchlist()
|
||||||
|
time.sleep(30)
|
7
login.py
Normal file
7
login.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
from tgtg import TgtgClient
|
||||||
|
|
||||||
|
client = TgtgClient(email="tgtg@sinpapel.es")
|
||||||
|
credentials = client.get_credentials()
|
||||||
|
with open('.credentials.json', 'w') as f:
|
||||||
|
print(credentials)
|
||||||
|
json.dump(credentials, f)
|
3
requirements.txt
Normal file
3
requirements.txt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
tgtg==0.16.1
|
||||||
|
requests==2.31.0
|
||||||
|
schedule==1.2.1
|
Loading…
Reference in New Issue
Block a user