I’ve been playing a lot of DotA 2 lately! I’ve been learning how to play offlane, and am currently experimenting with Mars.
A few months back, I wrote up a simple typescript project that hooks up my games fetched from OpenDota API and transfers them to my Google Calendar as calendar entries.
What it looks like
When I run this program, it automatically loads my recent matches in DotA 2 and adds matches as calendar events, as long as they aren’t in my calendar yet.
I used Typescript to write a function
parseDotaGames which is written up as an express endpoint. It retrieves my recent dota matches using Open DotA API, cross-references it with my google calendar events, and adds any games that aren’t in my calendar yet. I used ReactiveX
rxjs variant for handling asynchronous processing (primarily orchestrating the HTTP requests).
I used GitHub as my source code repository, publicly listing my project with an MIT license. I used Travis to deploy my endpoint as a Google Cloud Function, so that I can easily trigger this endpoint right after a good evening’s session of DotA 2!
Thoroughly pleased with this open source project, as it aligns with some of the things I enjoy doing: playing games and building apps.
If you want to save your DotA 2 games into your google calendar as events, you can check it out on my GitHub repository.