はじめに
Microsoft Teamsで利用できるBOTを探していたら、AzureBotを見つけました。AzureBotは次の作業をサポートしています。実際に試してみました。
- 仮想マシンの起動と停止
- Runbookの実行
インストール
「アプリ」からインストールします。BOTを招待できるのは1:1チャットのみです。チームには招待できません。

できること
話しかけるとBotが自分のできることを説明してくれます。親切です。困ったら「help」と話しかけましょう。できることを説明してくれます。

認証
「loginしろ」と言われるのでloginします。BOTからのリプライに含まれる「Authentication Required」をクリックすると、認証コードが表示されます。このコードをBOTにリプライします。リプライする際には、認証コードを手で入力しましょう。コピー&ペーストしたら認証エラーになりました。


認証に成功すると、AzureBotが挨拶してくれます。

VMを操作する
VMの一覧を表示する
それっぽいコマンドを発言すると、VMの一覧を表示してくれます。

VMを停止する
VMを停止するまでに必要なやりとりがよくできています。LUISを使っているからなのか、いろいろな言い回しを解釈して動作します。自分でBOTを作る時の参考にしたい。
- 人:それっぽいコマンドを入力する
- BOT:入力内容からユーザがVMを停止したいと解釈して、どのVMを停止したいのかを番号で聞き返す
- 人:停止したいVMの番号を入力する
- BOT:停止対象の仮想マシンの情報を伝えて、停止に同意を求める
- 人:停止に同意する
- BOT:停止処理を開始する

VM名を指定して発言すると、上記やりとりの4(停止の同意を求める)から始まります。

VMを起動する
VMの停止と同じ流れでVMを起動できます。

感想
今の業務では検証用VMを高頻度で起動・停止しています。ポータルにログインしなくてもVMを起動・停止できるのは便利なので、業務で使ってみます。