trying again

This commit is contained in:
aaron crate 2024-09-30 05:33:37 +00:00
parent e9cac474a2
commit 024ad10ba9

View File

@ -66,15 +66,26 @@ def kroger_token():
}) })
response.raise_for_status() response.raise_for_status()
return response.json()['access_token'] return response.json()['kroken']
def search_product(product, zipcode, access_token): def find_store(zipcode, kroken):
headers = { headers = {
'Authorization': f'Bearer {access_token}', 'Authorization': f'Bearer {kroken}',
}
params = {
'filter.zipCode.near': zipcode,
'filter.limit': 1,
}
response = requests.get('https://api.kroger.com/v1/locations', headers=headers, params=params)
return response.json()
def search_product(product, loc_id, kroken):
headers = {
'Authorization': f'Bearer {kroken}',
} }
params = { params = {
'filter.term': product, 'filter.term': product,
'filter.locationId': zipcode, 'filter.locationId': loc_id,
'filter.limit': 10 'filter.limit': 10
} }
response = requests.get('https://api.kroger.com/v1/products', headers=headers, params=params) response = requests.get('https://api.kroger.com/v1/products', headers=headers, params=params)
@ -141,7 +152,7 @@ async def generate_image(prompt):
image_url = response.data[0].url image_url = response.data[0].url
return image_url return image_url
except openai.BadRequestError as e: except openai.BadRequestError as e:
return f"`GarfBot Error: ({e.status_code}) - Your request was rejected as a result of our safety system.`" return f"`GarfBot Error: ({e.status_code}) - Your request was rejected as a product_query of our safety system.`"
except openai.InternalServerError as e: except openai.InternalServerError as e:
logger.error(e) logger.error(e)
print(e, flush=True) print(e, flush=True)
@ -213,10 +224,12 @@ async def on_message(message):
try: try:
kroken = kroger_token() kroken = kroger_token()
_, product, zipcode = message.content.split() _, product, zipcode = message.content.split()
result = search_product(product, zipcode, kroken) loc_data = find_store(zipcode, kroken)
store_name = result['data'][0]['items'][0]['store']['location']['name'] loc_id = loc_data['data'][0]['locationId']
products = result['data'] store_name = loc_data['data'][0]['name']
kroger_items = f"Prices for {product} near {zipcode} at {store_name}:\n" product_query = search_product(product, loc_id, kroken)
products = product_query['data']
kroger_items = f"Prices for `{product}` at `{store_name}`near `{zipcode}`:\n"
for item in products: for item in products:
product_name = item['description'] product_name = item['description']
price = item['items'][0]['price']['regular'] price = item['items'][0]['price']['regular']
@ -310,7 +323,7 @@ async def send_gif(message, search_term):
r = requests.get(f"https://tenor.googleapis.com/v2/search?q={search_term}&key={gapikey}&client_key={ckey}&limit={lmt}") r = requests.get(f"https://tenor.googleapis.com/v2/search?q={search_term}&key={gapikey}&client_key={ckey}&limit={lmt}")
if r.status_code == 200: if r.status_code == 200:
top_50gifs = json.loads(r.content) top_50gifs = json.loads(r.content)
gif_url = random.choice(top_50gifs["results"])["itemurl"] gif_url = random.choice(top_50gifs["product_querys"])["itemurl"]
print(gif_url) print(gif_url)
try: try:
await message.channel.send(gif_url) await message.channel.send(gif_url)