2019年7月18日Pythonサンプルコード集GoogleカレンダーとSlackbot(Pythonで作成)を連動してタスクスケジュールを行う方法を紹介します。GoogleカレンダーのSlack連携機能とSlackbotを組み合わせればGoogleカレンダーからタスクスケジューリングすることも可能です。終わりにSlackbotの予定からGoogleカレンダーのイベントを起こす準備イベントを起こすための準備は以下の通りです。・SlackとGoogleカレンダーを連携する・Slackbotを作成(Python)SlackとGoogleカレンダーを連携する方法は「SlackとGoogleカレンダーを連携させよう」をお読みください。PythonでSlackbotを作成する方法は「SlackbotをPythonで作成しよう」をお読みだくさい。GoogleカレンダーからSlackに送られてくるメッセージについてGoogleカレンダーとSlackを連携すると以下のような形でスケジュールがSlackに投稿されるようになります。このメッセージをPythonのprint文で見ると以下のメッセージのようなデータが格納されていることがわかります。in※メールアドレスやなどの情報は適当な値に書き換えています。ごちゃちゃしていますが、重要なのは「title」にスケジュールのタイトルである「【イベント】テスト」が入っている点と「’subtype’」が「’bot_message’」となっている点です。「title」にイベントが入ってくることがわかったのでイベントを起こしたい時間に「【イベント】」などわかりやすい単語を入れておけば他のスケジュールと区別をつけることができます。「’subtype’」が「’bot_message’」となっているのでこの指定をしておけば人間の会話が紛れ込むことはなさそうです。「’subtype’」は他のアプリケーションでも使用していると思いますが、Googleカレンダーの予定が送られてくるチャンネルを専用にすればノイズは少なくなります。calenderが来た場合の処理です。re.compile(r'^【イベント】(.*)$').match(event):message.send('予定の時間が来たよー')イベントはテキストを持たないので全てのコメントに対して反応するようにしておきます。このコードを実行するとタイトルが「【イベント】」から始まるタスクが来た時にコメントを返します。実行するユーザーを限定したい場合は「username」の判定を追加しましょう。‘xxxxxxxx@gmail.com’:◆slackbot_settings.pyの修正slackbot_settings.pyにモジュールを追加します。['slackbot.plugins','botmodules','gcalender',]◆実行結果これを応用すれば、Googleカレンダーにイベントを記述することでサーバーにあるスクリプトを動作させることも可能となります。今回はSlackbotを介しましたが、SlackのAPIが使えばカレンダーからのメッセージに対して直接イベントを起こすことも可能です。終わりにGoogleカレンダーから配信されてくる投稿を解析して応答するプログラムを作成しておくことで、特定の時刻にSlackbotにメッセージ投稿させることができます。今回はメッセージ投稿の方法の紹介でしたが、応用すればサーバーにあるスクリプトを動作させることも可能です。カレンダーに設定するだけなので作業の効率化にも繋がりますし、プログラミングに詳しくない人でも操作できます。データの解析はそれほど難しくないのでデータの内容をチェックしつつ、いろいろ試してみましょう。Slackbotこちらの記事も読まれていますこの記事を書いている人miyabikno住んでいるところ:神奈川県。SIer中小企業(C,VBA):8年(うち5年QA)。Web系ベンチャー(PHP,Javascript,Python):2年。@miyabiknoSIer中小企業(C,VBA):8年(うち5年QA)。Web系ベンチャー(PHP,Javascript,Python):2年。現在はブログをメインに活動しています。みやびのどっとぴーわい。