Files
bots/quotes.py
Camille Frantz 7dd8a204fd
All checks were successful
DogFacts / deploy (push) Successful in 27s
QuipBot / deploy (push) Successful in 26s
QuotesBot / deploy (push) Successful in 34s
wording
2025-06-11 08:33:01 -05:00

21 lines
840 B
Python

from requests import get, post
from json import loads, dumps
from os import getenv
from random import randint
import csv, io
from globals import *
response = get(quotes_source)
if response.reason == "OK":
choices = loads(dumps(list(csv.DictReader(io.StringIO(response.text)))))
choice = choices[randint(0, len(choices) - 1)]
headers = {'Authorization': 'Bearer ' + randomquotes_token}
payload = {'status': f"{choice['quote']}\n\n - {choice['author']}\n\n#RandomQuote #quotes #quote #bot", 'visibility': 'public'}
result = post(bots_endpoint + '/api/v1/statuses', headers=headers, data=payload)
if result.reason == "OK":
if po_user_token:
notify(-1, f'random quotes post: {loads(result.text)['url']}')
else:
if po_user_token:
notify(0, f'quotes source read error: {result.status_code} - {result.reason}')