generated from public/aoc_template
calc from correct year, even if still running in january
This commit is contained in:
parent
5b06d59c93
commit
444e5f3056
@ -2,6 +2,10 @@
|
||||
|
||||
Announce gained stars from private leaderboard into IRC Channel
|
||||
|
||||
# Requirements
|
||||
|
||||
Python >= 3.8
|
||||
|
||||
# Usage
|
||||
|
||||
- Clone repository
|
||||
|
||||
12
aoc_bot.py
12
aoc_bot.py
@ -46,14 +46,12 @@ class AOCBot:
|
||||
print("CONFIGURATION ERROR: %s" % e)
|
||||
|
||||
def fetch_leaderboard(self, year: int = datetime.now().year) -> dict:
|
||||
return json.loads(
|
||||
requests.get(
|
||||
return requests.get(
|
||||
"https://adventofcode.com/%d/leaderboard/private/view/%s.json"
|
||||
% (year, self.__aoc_group_id),
|
||||
headers={"User-Agent": self.__aoc_user_agent},
|
||||
cookies={"session": self.__aoc_session_id},
|
||||
).content
|
||||
)
|
||||
).json()
|
||||
|
||||
def command_info(self, msg_from: str, message: str):
|
||||
self.__irc_bot.privmsg(
|
||||
@ -186,10 +184,12 @@ class AOCBot:
|
||||
def update_leaderboard(self):
|
||||
try:
|
||||
new_leaderboard = self.fetch_leaderboard()
|
||||
except Exception:
|
||||
except Exception as e:
|
||||
print("Updating leaderboard failed: %s" % e)
|
||||
return # didn't work this time? Well, we'll just try again in 15min ...
|
||||
|
||||
now = datetime.now()
|
||||
aoc_year = now.year if now.month == 12 else now.year - 1
|
||||
|
||||
new_stars = {}
|
||||
for member, member_data in new_leaderboard["members"].items():
|
||||
@ -203,7 +203,7 @@ class AOCBot:
|
||||
self.__cache_data[member]["score"] = int(member_data["local_score"])
|
||||
self.__cache_data[member]["stars"] = int(member_data["stars"])
|
||||
for day in member_data["completion_day_level"]:
|
||||
day_start = datetime(now.year, 12, int(day), 6, 0, 0)
|
||||
day_start = datetime(aoc_year, 12, int(day), 6, 0, 0)
|
||||
if day not in self.__cache_data[member]["days"]:
|
||||
self.__cache_data[member]["days"][day] = {}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user