Skip to content

This is a Lambda function for Todoist User. Run this function, then ToDoist's task list add random training menu.

License

Notifications You must be signed in to change notification settings

thvinmei/KinnikuTaiso2ToDoist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

このスクリプトは,ToDoistに毎日ランダムに選ばれた「筋肉体操」をタスクとして追加するためのスクリプトです.

AWS Lambdaでの動作を想定しています. 1回の動作時間が10sec程と多少長いですが,毎日1回,128MBの設定で動作させても無料枠に全然問題なく収まるはずです.

動作内容

このLambda関数が実行されると,ToDoist上にタスクが1件追加されます.

タスクのnote部分には,YoutubeにあるNHK公式が配信している「筋肉体操」から,ランダムにいくつかが選択されてリンクが記載されます. 同一種目が複数回・複数の内容選択されることはありません.

タスクのタイトル変更

デフォルトのタイトルは「トレーニング」となっており,プロジェクト「Inbox」に追加されます. これらはlambda_function.pyの19-21行目にある

     project = user.get_project("Inbox")
     task = project.add_task("トレーニング",date=limit)

部分を書き換えることで変更できます.

タスクの締め切り時刻変更

追加されるタスクの締め切り時刻は初期値で22:15となっていますが,lambda_function.pyの11行目にある

limit = todo.ConvTime(22,15)

の部分を書き換えることで変更可能です. 以下のように,締め切り時刻HH:MMならば

limit = todo.ConvTime(HH,MM)

と書き換えてください.

インストール手順

ローカルでの準備

  1. このスクリプトをダウンロード
git clone [email protected]:thvinmei/AddTodoist_TrainingTask.git M2T
  1. pytodoistをスクリプトと同じディレクトリにインストール
cd M2T
pip install -t .
  1. zip圧縮
zip -r upload.zip *

AWS Lambdaへのアップロード

  1. AWS Lambdaの管理画面にログインし,関数を作成

    • "一から作成"を選択
    • ランタイムに"Python3.7"を選択
    • 名前,ロールは任意で.
  2. 関数マネジメント画面での設定

    1. トリガーの設定

      • トリガーに"CloudWatch Events"を追加
      • cron式などで1日一回動作するように設定する.
      # 毎日12:00JST(03:00UTC)に動かす場合
      cron(0 3 * * ? *)
      • 「保存」
    2. Lambda関数のアップロード

      • コードエントリタイプで「.zipファイルをアップロード」を選択
      • 先程作成した,upload.zipを選択
      • 「保存」
    3. ハンドラをlambda_function.Training2Todoistに設定する

    4. 環境変数の設定

      • キーにTODOIST_API_TOKEN,値にToDoistのアカウント設定ページから取得できるAPIトークンを入力
      • キーにNUMBER_OF_TRAININGS,値に1日あたりのトレーニング種目数を入力
        • ただし,この値が種目数である4以上になることを想定していません.(ただし,種目数を増やした場合はその限りではないです.)
        • また,この値は整数値で入力が必要です.
    5. 「保存」

テスト実行

テストイベントはAmazon CloudWatchをイベントテンプレートとして作成してください.

テスト実行して,ToDoist側にタスクが追加できていれば完了です.

About

This is a Lambda function for Todoist User. Run this function, then ToDoist's task list add random training menu.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages