diff --git a/README.md b/README.md index 74d5a0c..c14f1fa 100644 --- a/README.md +++ b/README.md @@ -18,15 +18,7 @@ Currently, I'm considering the following Capturers (based on my own life): - [ ] [Mastodon](design/mastodon.md) - [ ] [RSS](design/rss.md) - [ ] [Guild Wars 2](design/guildwars2.md) -- [ ] Steam Capturer (?) -- [ ] Netflix -- [ ] Deezer +- [ ] [Steam Capturer](design/steam.md) +- [ ] [Netflix](design/netflix.md) +- [ ] [Deezer](design/deezer.md) - [ ] Calendar/CalDav - -### Steam Capturer - -### Netflix Capturer - -### Deezer Capturer - -### Calendar/CalDav Capturer diff --git a/design/deezer.md b/design/deezer.md new file mode 100644 index 0000000..548cf71 --- /dev/null +++ b/design/deezer.md @@ -0,0 +1,33 @@ +# Deezer Capturer + +Deezer Capturer captures songs played on Deezer. + +[Deezer API](https://developers.deezer.com/api) is available. We need to grab +the user history (`https://api.deezer.com/user/4812817742/history`) from the +user. + +## Configuration + +Configuration requires the OAuth token. + +## Internals + +We need to keep a list of played songs, and compare with the new one. + +Need to find the history output, as the API explorer does not show one example. + +We could keep: + +- `id`: ID or timestamp of the history element. Elements earlier than the most + recent one can be ignored. +- `artist`: Name of the artist. +- `song`: Name of the song. +- `album`: Album of the song. + +## Output + +``` +{% for song in new_songs %} +Played {{ song.name }} by {{ song.artist }}. +{% endfor %} +``` diff --git a/design/guildwars2.md b/design/guildwars2.md index c8c8b96..d510808 100644 --- a/design/guildwars2.md +++ b/design/guildwars2.md @@ -17,3 +17,23 @@ We need to keep, locally: and a list of all achievements (there are different calls for each). - Current WvW rank, to be compared with the new one. - Current PvP rank, to be compared with the new one. + +## Output + +``` +{% if time_played > 0 %} +Played Guild Wars 2 for {{ time_played }}. + +{% if wvw_rank_increase %} +Gained {{ wvw_rank_increase }} WvW ranks. +{% endif %} + +{% if pvp_rank_increase %} +Gained {{ pvp_rank_increase }} PvP ranks. +{% endif %} + +{% for achievements in new_achievements %} +Completed {{ achievement }}. +{% endfor %} +{% endif %} +``` diff --git a/design/netflix.md b/design/netflix.md new file mode 100644 index 0000000..a9fc2e1 --- /dev/null +++ b/design/netflix.md @@ -0,0 +1,25 @@ +# Netflix Capturer + +Steam Capturer captures watched movies and series on Netflix. + +There is no API. We need to scrap the user account page to find that out. + +## Configuration + +Sadly, we may need username and password in the configuration. + +## Internals + +We need to keep a list of watched content: + +- `id` (maybe): ID of the movie/episode. +- `name`: Name of the movie. +- `watch_date`: Date the movie/episode was watched. + +## Output + +``` +{% for content in new_content %} +Watched {{ content.name }}. +{% endfor %} +``` diff --git a/design/steam.md b/design/steam.md new file mode 100644 index 0000000..ca656a7 --- /dev/null +++ b/design/steam.md @@ -0,0 +1,33 @@ +# Steam Capturer + +Steam Capturer captures the daily plays on Steam games. Achievements could also +be captured. + +[Steam API documentation](https://steamcommunity.com/dev). We could capture +"Recently Played Games" and "Get Player Achievements". + +## Configuration + +The only required configuration is the Steam ID. + +## Internals + +We need to keep, locally: + +- Current list of achievements: We compare this with the new list and find out + the new ones. +- Time in each game "recently played", or some sort of "time played" bootstrap + method. We compare this with the Recently Played list to produce a list of + Time played. + + ## Output + + ``` + {% for game in played_games %} + Played {{ game.name }} for {{ game.time }}. + {% endfor %} + + {% for achievement in new_achievements %} + Completed {{ achievement.name }} in {{ achievement.game }}. + {% endfor %} + ```