Open28

Goに入門する

  • Goで定時で動くやつを作る
  • Todoistからデータを取得→今日のタスク or 残りinboxを毎朝お届けしてくれるLINE Botを作る

ちなみにTodoistのAPIのトークンは連携機能の1番下にある。
LINEやTwitterだと別ページから申請みたいなのしないといけないから、お手軽でちょっとびっくり。

15分に450回はリクエスト投げていいみたいなので、タスクためすぎなければ全然1個ずつみても大丈夫だけど、なんか他の方法考えたいな。
今日のタスクを前日にちゃんとセットしてるとも限らんし

sync apiの方でどうにかできんかなと思ったけどこっちはどっちかっていうと操作系っぽい。
AWSとかで動かすとして、最終目標としてはこんな感じかな


うごくとき

  1. 定時で動かす(7時くらい。かんたんに変更できるようにしておく)

うごき

  1. 今日の日付でkvsにタスクID一覧を保存
  2. 昨日の日付のデータがあればひっぱりだし…
    a. 昨日あるけど、今日ないID = 達成数として算出
    b. 昨日ないけど、今日あるID = 増えたTODOとして算出
  3. ↑をLINEに投げる

とりあえずタスク数をひしょぼっとに投げられるところまでやろう

あしたはHerokuにデプロイして今いったん実装したいものは終わりかな〜〜実装中にでてきた謎記法とかエラーの書き方とか適当にコピペってバラけちゃったからどれがいいのかとか調べたい!

昨日の朝はだめだったので設定かえておいた

昨日(さっき)はエラーハンドリングでちょっと悩んでた
あとで公式ちゃんと呼んだ方がいいんだと思うけど

  1. err := hogehoge() はあとで他関数で同じ書き方した時に再代入でエラーになる
  2. piyo, err := hogehoge() はあとで他関数で同じ書き方をしてもerrは再代入エラーにならない
  3. if err := hogehoge(); err!= nil はあとで他関数で同じ書き方をしてもerrは再代入エラーにならない

1と3の違いは『3はerrという変数の生存期間がifの中だけになってるんだろな』で理解できるけど、1と2の違いがわからん、分割代入かと思ってたんだけど違うのかな?

https://qiita.com/nayuneko/items/3c0b3c0de9e8b27c9548

そういえばこれ散々4〜5時間ごとに発動した挙句1週間くらいで止まったな、Herokuが悪いのかよくわからんけどまあやりたいことは達成してるので、いいか…。

明日明後日でまとめかいて終わろう

作成者以外のコメントは許可されていません