Closed28

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が悪いのかよくわからんけどまあやりたいことは達成してるので、いいか…。

このスクラップは2022/04/10にクローズされました