Teamsでボットを作ろう

IT

外部のアプリ等と連携して、Teamsにボットとして発言させる方法について記載します。

参考にしたURL

参考にしたURLはMicrosoftの以下のページです

受信 Webhook を作成する - Teams
Teams アプリへの受信 Webhook を作成し、外部要求を Teams に投稿します。 受信 Webhook を削除します。 受信 Webhook を使用してカードを送信するサンプル コード (C#、Node.js)。
メッセージを作成して送信する - Teams
アクション可能なメッセージを作成し、受信 Webhook、Microsoft 365 グループ、cURL、または PowerShell 用のコネクタを介してメッセージを送信します。 アダプティブ カードを送信します。 時間ベースのトランザク...

大雑把な流れ

  1. ボットとして発言させたいTeamsのチャネルに、受信Webhookを設定。
  2. 手順1でURLが作成されるので、そのURLに対してcurlなどでJSON形式で発言内容をPOST送信。

受信Webhookの設定

ボットとして発言させたいTeamsのチャネル名の右にある[・・・]を押して、[コネクタ]を選択。
コネクタの一覧が出てきますので、Webhookを検索。
Incoming Webhookの[構成]ボタンを押下。
名前にお好きなボットの名前を入力し、画像アバターをお好みでアップロード。
受信Webhook用のURLが生成できるので、URLをコピーして保存してください。
完了を押してWebhookがチームのチャネルで使用できる状態にします。

ボットに発言させる

先ほど生成されたURLに対して、curlでJSON形式でPOST送信させればOKです。
具体的には、以下のような感じです。

 curl -H 'Content-Type: application/json' -d '{"text": "Hello World"}' <Webhook URL>

注意点は、発言の文字コードはUTF-8で実施しないと、文字化けしてしまいます。
Windowsで実施するとおそらくかなり苦労するので、Linuxで実施することをお勧めします。

コメント

タイトルとURLをコピーしました