make it work
This commit is contained in:
parent
c8d8d8916d
commit
c1a4b5d336
50
main.py
Normal file
50
main.py
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
from urllib.request import urlopen
|
||||||
|
from json import load, dump
|
||||||
|
from os.path import expanduser
|
||||||
|
from os import mkdir
|
||||||
|
from random import choice
|
||||||
|
from time import time_ns
|
||||||
|
|
||||||
|
posted_path = expanduser("~/.binkbot.sent")
|
||||||
|
bink = expanduser("~/.bink")
|
||||||
|
|
||||||
|
try:
|
||||||
|
mkdir(bink)
|
||||||
|
except FileExistsError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
try:
|
||||||
|
with open(posted_path, "r") as f:
|
||||||
|
posted = load(f)
|
||||||
|
except FileNotFoundError:
|
||||||
|
posted = []
|
||||||
|
with open(posted_path, "w") as f:
|
||||||
|
dump(posted, f)
|
||||||
|
|
||||||
|
all_photos = load(urlopen("https://helixnebula.space/photos.json"))
|
||||||
|
|
||||||
|
photos = [
|
||||||
|
(placecode, filename)
|
||||||
|
for placecode, place in all_photos.items()
|
||||||
|
for filename in place["photos"]
|
||||||
|
]
|
||||||
|
|
||||||
|
def in_posted(obj):
|
||||||
|
return obj not in posted
|
||||||
|
|
||||||
|
filtered = [photo for photo in filter(in_posted, photos)]
|
||||||
|
|
||||||
|
if not filtered:
|
||||||
|
posted = []
|
||||||
|
else:
|
||||||
|
photos = filtered
|
||||||
|
|
||||||
|
random_photo = choice(photos)
|
||||||
|
posted.append(random_photo)
|
||||||
|
with open(posted_path, "w") as f:
|
||||||
|
dump(posted, f)
|
||||||
|
|
||||||
|
with open(f"{bink}/{time_ns()}", "w") as f:
|
||||||
|
post = f"""daily random photo from ~nebula:
|
||||||
|
https://helixnebula.space/{random_photo[0]}/{random_photo[1]}"""
|
||||||
|
f.write(post)
|
Loading…
x
Reference in New Issue
Block a user