Slackbotを使ってTodoistの予定を取得する方法を紹介します。

SlackとTodoistについては既に連携機能が存在します。
しかし、できることはタスクやプロジェクトの追加など多くはありません。自作でAPIを実装することでより自分の用途に合った機能のBotを作成することができます。

まずはSlackbotとTodoistを連携してみて足りないと思った部分があれば自分でAPIを開発することも考えてみましょう。

SlackbotのPythonでの実装については「SlackbotをPythonで作成しよう」をお読みください。
TodoistのAPIについては「Todoistの情報をPythonで取得する」をお読みください。

関連記事>>SlackとTodoistを連携する

※2019/11/3 API v8に対応したコードに修正しました。
API v8については「Todoist API v8の主な変更点と対応方法」をお読みください。

※毎日や曜日の処理を追加したらかなり長くなってしまったので調整予定。

SlackbotでTodoistの予定を確認するには?

Todoistの予定を確認するためにはAPIトークンと呼ばれるキーを使ってアクセスし、予定を取り出します。
取り出した予定の中から表示したい範囲のタスクを抽出します。

APIトークンの確認方法については「Todoistの情報をPythonで取得する」の「TodoistのAPIトークンを取得する」の章をお読みください。

取得の際は格納されている時間はUTC時間であるため、日本時間との差分は考慮する必要があります。

TodoistのAPIを使って今日の予定を確認する」にて作成したコードを使用します。

長いので本記事では割愛します。上記リンク先のコードをご参照ください。

※2019/11/3 v8に対応したコードに修正

SlackbotでTodoistの予定を取得する処理の実装

Botの仕様は以下の通りです。

・「今日の予定」と聞かれたら今日のタスクを全て表示する
・絵文字で「完了」、「未完了」がわかるようにする
※2019/11/3 v8に対応したコードに修正

今回表示するTodoistのタスクはコチラです。
Todoist今日のタスク

◆実行結果
今日の予定(並び替え)

◆参考記事
Python sortのまとめ (リスト、辞書型、Series、DataFrame)

以上、SlackでTodoistのタスクを表示する方法でした。

Slackbot+PythonまとめTOP>>Slackbotの作り方マニュアル〜Python編〜
Todoist+Pythonまとめ>>Todoist+Pythonの活用方法まとめ

◆関連記事
Todoistの情報をPythonで取得する
SlackbotでTodoistのタスクを完了済みにする〜PythonでのBot開発〜