Pythonで作業効率化

【Python】SlackbotでTodoistのタスクを管理する方法

SlackとTodoistは連携機能がありますが、できることはタスクの追加くらいであまり多くありません。

より使い勝手のよいタスク管理をするためにTodoistのAPIを使って操作する必要があります。

そこで今回は、Slackbot+TodoistのAPIでタスク管理する方法を紹介します。

※PythonでのSlackbotの使い方については「SlackbotをPythonで作成しよう

Python版のTodoistのAPIの使い方についてはTodoistの情報をPythonで取得する

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

【Python+Todoist】APIの基本的な使い方

TodoistのAPIから取得できるタスクの内容

TodoistのAPIから取得できる情報は以下のものがあります。

idタスクのid
project_idプロジェクトのID
utc_date_time時差を決めるための世界標準時間。日本時間に補正が必要
date_string日本時間だが年がないのが欠点。たまに英語時間になる
contentタスク名

Todositの今日のタスクをSlackbotから取得する方法

今日の予定を確認する方法については「SlackbotでTodoistの予定を確認する」にて詳しく説明しています。

Todositのタスクを完了済みにする方法

タスク名と日付から対象のタスクを見つけて完了済みにします。

同じ日に同じタスク名を使うことはないという前提です。

タスクの時間はUTC時間で保存されているため、日本時間に補正してから比較する必要があります。

複数ヒットした場合は最初の予定のみを完了済みにします。

◆使用するファイル
・bot.py(起動ファイル)
・slackbot_settings.py(設定ファイル)
・todoistmodules.py(今回修正するファイル)
・botmodules.py(今回修正するファイル)

タスクを完了するコードの実装例は以下の通りです。

◆Todoistコードの修正(todoistmodules.py)

◆Slackコードの修正(botmodules.py)
Todoistの完了メソッドを呼び出して完了済みにします。

◆実行例
タスク一覧

タスク一覧から対象のタスクをコピーします。

◆「テスト1」を完了する例
タスクを完了済みにする

以上、SlackbotでTodoistのタスクを管理する方法でした。

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

こちらの記事も読まれています

  • この記事を書いた人

みやびの

住んでいるところ:神奈川県。 プログラミング歴は13年ほど。 ※プログラミングに関する無料相談・質問への回答は行っていません。

-Pythonで作業効率化
-

Copyright© みやびのどっとぴーわい , 2024 All Rights Reserved Powered by AFFINGER5.