Haskell bindings for Advent of Code REST API. Caches and throttles requests
automatically.
Specify your requests with AoC
and AoCOpts
, and run them with
runAoC
.
Examples:
-- Fetch prompts for day 5
runAoC myOpts $ AoCPrompt (mkDay_ 5)
-- Fetch input for day 8
runAoC myOpts $ AoCInput (mkDay_ 8)
-- Submit answer "hello" for Day 10, Part 1
runAoC myOpts $ AoCSubmit (mkDay_ 10) Part1 "hello"
Please use responsibly. All actions are rate-limited to a default of one
request every three seconds, with ability to adjust up to as fast as a
hard-coded limit of one request per second.
Note that leaderboard API is not yet supported.
Requires libcurl, with future plans to move to a "pure Haskell"
networking backend.
Session Keys
Session keys are required for all commands, but if you enter a bogus key
you should be able to get at least Part 1 from AoCPrompt
.
The session key can be found by logging in on a web client and checking
the cookies. You can usually check these with in-browser developer
tools.