v3にメッセージタイプが変更になったのでまとめです。
v1のメッセージタイプ
種類は、8つありました。
- Message
- Ping
- DeleteUserData
- BotAddedToConversation
- BotRemovedFromConversation
- UserAddedToConversation
- UserRemovedFromConversation
- EndOfConversation
詳細は以前の記事を参照してください。
v3のメッセージタイプについて
v1は、そもそもメッセージタイプが文字列定義だったので最高にしんどかったですが、v3になってようやくenumとして定義されて使いやすくなりました。
タイプは、6種類になったようです。
- Message
- ConversationUpdate
- ContactRelationUpdate
- Typing
- Ping
- DeleteUserData
それぞれの役割とかは下記のような感じです。
Message
ユーザとBotの間のシンプルなコミュニケーション時は、これを使います。
普通にメッセージのやり取り時はこれになります。
ConversationUpdate
Botが会話に追加された場合や、会話のメタデータが変更になった場合の通知に使われるメッセージタイプです。
v1の頃のBot・User/Added・Remove/From・To/Conversationメッセージタイプは、すべてこのメッセージタイプに統合されます。
ContactRelationUpdate
Botがユーザのコンタクトリストに追加、削除された際の通知に使われるメッセージタイプです。
Skypeでコンタクトリストに追加された際のThanksメッセージを返すためのトリガーなどが用途かなって感じです。
Typing
Botまたは、ユーザが現在メッセージを入力中というステータスを送る際に使われるメッセージタイプ
Ping
Botのセキュリティテスト用のメッセージに使われるメッセージタイプ
DeleteUserData
ユーザがBotに対してプロフィールやユーザデータの削除を要求する際に使われるメッセージタイプ
まとめ
メッセージタイプも根本的に置き換えられてますが、より普通のチャットで使われるアクティビティの挙動に合わせられての改変なので機能も豊富でかなりいい感じになったっぽいです。