여기에도 하는분이 몇분 계신걸로 압니다만, 아이돌마스터 밀리언라이브 시어터데이즈(이하 밀리시타)라는 게임이 있습니다. 한달에 대략 이벤트를 4번 하는데, 제가 안바쁠때는 꼬박꼬박 합니다만 시험기간이거나 뭔가 할일이 있으면 맨날 까먹게된단말이죠... 그래서 매일 한번씩 휴대폰으로 어떤 이벤트가 진행중인지 알림이 오게 할 수 있으면 좋겠다고 생각했습니다.
여기서 API가 등장합니다. 일본의 능력자분이 게임의 각종 정보(이벤트, 카드 라운지등)를 제공하는 RESTful API를 만들어서 공개해두셨고, 이전부터 디스코드나 밴드 채팅봇의 구현에 아주 쏠쏠히 써먹고 있었기 때문에 여기서도 당연히 사용하기로 했습니다.
API 주소로 GET 요청을 보내면 역대 이벤트들의 일정을 json배열로 묶어서 돌려주기 때문에 사용하기가 아주 쉽습니다.
그런데 휴대폰(특히 아이폰)으로 알림을 보내는 방법에는 뭐가 있을까요? 저 혼자 쓰는거라면 텔레그램 봇을 통한 알림을 사용할 수 있겠지만 이왕 만드는거 좀 퍼블릭하게 만들고 싶어졌기 때문에 캘린더를 이용하기로 했습니다.
구글캘린더는 Go는 물론이고 Python을 비롯한 9개언어에서 간단하게 API를 사용할 수 있는 라이브러리를 제공합니다. 구글답게 아주 문서화가 잘되어있어서 pip로 모듈 몇개 깔고 바로 사용할 수 있었습니다.
적당히 코딩하고 돌려주면
캘린더에 이벤트들이 깔끔하게 들어갑니다. 이걸 아이폰에서 구독하고
적당히 단축어를 만들어주고
자동화를 추가하면
잘 작동합니다... 이제 이벤트 까먹을 일은 없어졌습니다.
공개캘린더 주소입니다. 파이썬 스크립트는 도커에 올려놓고 크론돌리고있으니 구글계정에 추가해두시면 새로 갱신되는 이벤트정보가 아이폰 캘린더에도 반영됩니다.
https://calendar.google.com/calendar/embed?src=j81rot56k07qdr0c9oh8r93rig%40group.calendar.google.com&ctz=Asia%2FSeoul