.NET
bot
WebexTeams

Webex Teams API Clientを使って、Botからメッセージを投稿(15秒で実装)

多少サバ読みしつつ、Webex Teams API Clientを使って、
15秒で、Botからメッセージを投稿するまでを実装してみます。

以下の記事で、事前準備は完了しているのが前提です。

TeamsAPIClientのインスタンスも作成済みの前提です。
以下の記事では、インスタンスは、teamsという変数名で参照します。

※トークンは、Botアカウントのトークンを使ってください。

// Cisco Webex Teams API Clientのインスタンスを作成します。
TeamsAPIClient teams = TeamsAPI.CreateVersion1Client(protectedToken);

1. では、Botからメッセージを投稿してみます

var result = await teams.CreateDirectMessageAsync("your_teams_account@example.com", "Hello, Cisco Webex Teams!!");

your_teams_account@example.comの部分は、自分のCisco Webex Teamsのアカウント名にします。
これで、Botから、自分あてにメッセージが投稿されるはずです。

CreateDirectMessageAsync()は、Cisco Webex Teamsの1対1スペースにメッセージを投稿するメソッドです。
最初の引数が宛先となるCisco Webex Teamsのユーザで、2つ目の引数が投稿するメッセージのテキストです。

2. 成功したかどうかをチェックする

実際のアプリでは、成功したかどうかをチェックする必要があります。
こんな感じです。

var result = await teams.CreateDirectMessageAsync("your_teams_account@example.com", "Hello, Cisco Webex Teams!!");

if(result.IsSuccessStatus)
{
  // 成功。
  Console.WriteLine("メッセージを投稿しました: text = {0}, id = {1}", result.Data.Text, result.Data.Id);
}
else
{
  // 成功していなければ、失敗。
  Console.WriteLine("失敗しました: statusCode = {0}", result.HttpStatusCode);
}

戻り値を使って、成功したかどうかなどを確認できます。
成功していれば、result.Dataに、Cisco Webex Teams APIのデータが含まれています。
メッセージを投稿した場合は、投稿したメッセージを表すオブジェクトが格納されています。
今回は、事始めなので、さくっとやってみるのが目的です。
中身の詳細は、また別途記事にする予定です。

3. マークダウンで投稿してみる

var result = await teams.CreateDirectMessageAsync("your_teams_account@example.com", "Hello, **Cisco Webex Teams!!**");

Cisco Webex Teams APIを使ったメッセージの投稿では、一部のMarkdownが利用可能です。
Cisco Webex Teams APIで利用可能なMarkdownに関してはこちらを参照

上の例では、
Hello, Cisco Webex Teams!!
のように、一部太字で投稿されるはずです。