目次
PythonからTeamsに通知するBotをつくってみた
ある業務でエラー処理したいな~となり、普段の仕事ではslackではなく、Teamsを使っているので、TeamsでBot作ってみました!
SlackのBotより設定が簡単でした。
TeamsにIncoming Webhookを設定する
TeamsでIncoming Webhookを設定します
①Teamsにログインし、コネクタをクリック
作りたいチャネルの「…」マークをクリックし、「コネクタ」をクリック

②Incoming Webhookを追加
Incoming Webhookを一覧から探し、「追加」をクリック


③任意の名前を記載し、作成
任意のBot名を記載し、作成をクリック。アイコンは後からでも変えられますし、ここで好きなアイコンに変えてしまっても大丈夫です。

④WebhookURLをコピーし、控えておく(後で使います)
作成をクリックすると、WebhookURLが発行されるので、コピーしておいてください

pymsteamsを使ってスクリプトを作成
pymsteamsというライブラリが用意されているので、インポートして使いましょう。
まずは、pipをつかってインストールしてください。
pip install pymsteams
以下、サンプルになります。
Webhook URLの部分に先ほどコピーしたURLを張り付けてください。
今回は「エラーメッセージ」として使いたかったので、titleとtextを以下のよううにしてます。
# -*- coding: utf-8 -*-
import pymsteams
myTeamsMessage = pymsteams.connectorcard("Webhook URL")
myTeamsMessage.title("Error Message")
myTeamsMessage.text("エラーが発生しました。至急ご確認ください")
myTeamsMessage.send()
pythonのファイル名は「test_teams_hook.py」としました。これを実行してください。
python test_teams_hook.py
該当のチャンネルに以下のように表示されれば、成功です!

今後の使い方
どうでしたでしょうか?
結構簡単に実装できたと思います。
今後はTeamsbotを使って、エラー処理だけでなく、広告の週次数値や日次数値を報告してくれるように設定しようと思います。
あとは、出勤退勤とかも簡単にできそうですね!セールスフォースとかとも連携できるのかな。
ではまた。
おまけ タスクスケジューラーに登録してエラー通知(windows)
上記で作成したtest_teams_hook.pyをタスクスケジューラーに登録すれば、タスクスケジューラーで日次で回しているものがエラーを吐いたら、通知させることが可能になります。
タスクスケジューラーの設定については、要望があれば、別途書こうかなと思います。