Pythonサンプルコード集

SlackbotでTodoistを管理する方法〜PythonでのBot開発〜

SlackとTodoistは連携機能がありますが、できることはタスクの追加くらいであまり多くありません。
本格的な操作をしようと思うとTodoistのAPIを使って操作する必要があります。

そこで今回は、SlackbotからTodoistを管理する方法を紹介します。

※PythonでのSlackbotの使い方については「SlackbotをPythonで作成しよう
Python版のTodoistのAPIの使い方についてはTodoistの情報をPythonで取得する

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

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編〜

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

  • この記事を書いた人
miyabikno

miyabikno

住んでいるところ:神奈川県。 SIer中小企業(C,VBA):8年(うち5年QA)。Web系ベンチャー(PHP,Javascript,Python):2年。フリーランス:2年。現在はブログをメインに活動しています。

-Pythonサンプルコード集
-

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