アクティビティの概要Activities overview

注意

このトピックは SDK v3 リリースに適用されます。This topic applies to SDK v3 release. 最新バージョンの SDK (v4) のドキュメントは、こちらにあります。You can find the documentation for the latest version of the SDK v4 here.

コネクタは、アクティビティ オブジェクトを使用して、ボットとチャネル (ユーザー) の間で情報をやり取りします。The Connector uses an Activity object to pass information back and forth between bot and channel (user). 最も一般的なアクティビティの種類はメッセージですが、ボットまたはチャネルにさまざまな種類の情報を通信するために使用できる他のアクティビティの種類も存在します。The most common type of activity is message, but there are other activity types that can be used to communicate various types of information to a bot or channel.

Bot Framework SDK for .NET のアクティビティの種類Activity types in the Bot Framework SDK for .NET

次のアクティビティの種類は、Bot Framework SDK for .NET でサポートされています。The following activity types are supported by the Bot Framework SDK for .NET.

Activity.TypeActivity.Type インターフェイスInterface 説明Description
messagemessage IMessageActivityIMessageActivity ボットとユーザー間の通信を表します。Represents a communication between bot and user.
conversationUpdateconversationUpdate IConversationUpdateActivityIConversationUpdateActivity ボットが会話に追加されたこと、他のメンバーが会話に追加された、または会話から削除されたこと、会話のメタデータが変更されたことを示します。Indicates that the bot was added to a conversation, other members were added to or removed from the conversation, or conversation metadata has changed.
contactRelationUpdatecontactRelationUpdate IContactRelationUpdateActivityIContactRelationUpdateActivity ユーザーの連絡先リストに対してボットが追加または削除されたことを示します。Indicates that the bot was added or removed from a user's contact list.
typingtyping ITypingActivityITypingActivity 会話の相手側のユーザーまたはボットが応答をコンパイルしていることを示します。Indicates that the user or bot on the other end of the conversation is compiling a response.
deleteUserDatadeleteUserData 該当なしn/a ボットに保存されている可能性のあるユーザー データを削除するようにユーザーが要求したことをボットに示します。Indicates to a bot that a user has requested that the bot delete any user data it may have stored.
endOfConversationendOfConversation IEndOfConversationActivityIEndOfConversationActivity 会話の終了を示します。Indicates the end of a conversation.
eventevent IEventActivityIEventActivity ボットに送信される、ユーザーに表示されない通信を表します。Represents a communication sent to a bot that is not visible to the user.
invokeinvoke IInvokeActivityIInvokeActivity ボットに送信される、特定の操作の実行を要求する通信を表します。Represents a communication sent to a bot to request that it perform a specific operation. このアクティビティの種類は、Microsoft Bot Framework による内部使用のために予約されてます。This activity type is reserved for internal use by the Microsoft Bot Framework.
messageReactionmessageReaction IMessageReactionActivityIMessageReactionActivity ユーザーが既存のアクティビティに反応したことを示します。Indicates that a user has reacted to an existing activity. たとえば、ユーザーがメッセージの "いいね!" ボタンをクリックしたような場合です。For example, a user clicks the "Like" button on a message.

messagemessage

ボットは、message アクティビティを送信してユーザーに情報を伝達し、ユーザーから message アクティビティを受信します。Your bot will send message activities to communicate information to and receive message activities from users. プレーン テキストだけで構成されているシンプルなメッセージもあれば、読み上げテキスト推奨されるアクションメディアの添付ファイルリッチ カードチャネル固有のデータなど、よりリッチなコンテンツを含むメッセージもあります。Some messages may simply consist of plain text, while others may contain richer content such as text to be spoken, suggested actions, media attachments, rich cards, and channel-specific data. 一般的に使用されるメッセージのプロパティについては、「メッセージの作成」をご参照ください。For information about commonly-used message properties, see Create messages.

conversationUpdateconversationUpdate

ボットは、ボットが会話に追加されたり、他のメンバーが会話に追加または会話から削除されたり、会話メタデータが変更されたりするたびに、conversationUpdate アクティビティを受信します。A bot receives a conversationUpdate activity whenever it has been added to a conversation, other members have been added to or removed from a conversation, or conversation metadata has changed.

メンバーが会話に追加された場合、アクティビティの MembersAdded プロパティには、新しいメンバーを示す ChannelAccount オブジェクトの配列が含まれます。If members have been added to the conversation, the activity's MembersAdded property will contain an array of ChannelAccount objects to identify the new members.

ボットが会話に追加されたか (つまり、新しいメンバーの 1 つか) どうかを判断するには、アクティビティの Recipient.Id 値 (つまり、ボットの ID) が、MembersAdded 配列のアカウントのいずれかの Id プロパティと一致するかどうかを評価します。To determine whether your bot has been added to the conversation (i.e., is one of the new members), evaluate whether the Recipient.Id value for the activity (i.e., your bot's id) matches the Id property for any of the accounts in the MembersAdded array.

メンバーが会話から削除された場合、MembersRemoved プロパティには削除されたメンバーを示す ChannelAccount オブジェクトの配列が含まれます。If members have been removed from the conversation, the MembersRemoved property will contain an array of ChannelAccount objects to identify the removed members.

ヒント

ユーザーが会話に参加したことを示す conversationUpdate アクティビティをボットが受信した場合、そのユーザーにウェルカム メッセージを送信して応答することを選択できます。If your bot receives a conversationUpdate activity indicating that a user has joined the conversation, you may choose to have it respond by sending a welcome message to that user.

contactRelationUpdatecontactRelationUpdate

ボットがユーザーの連絡先リストに対して追加または削除されるたびに、ボットは contactRelationUpdate アクティビティを受信します。A bot receives a contactRelationUpdate activity whenever it is added to or removed from a user's contact list. アクティビティの Action プロパティ (追加 | 削除) の値は、ボットがユーザーの連絡先リストに対して追加または削除されているかを示します。The value of the activity's Action property (add | remove) indicates whether the bot has been added or removed from the user's contact list.

typingtyping

ボットは typing アクティビティを受信して、ユーザーが応答を入力中であることを示します。A bot receives a typing activity to indicate that the user is typing a response. ボットは、typing アクティビティを送信して、要求を満たすため、または応答をコンパイルするためにボットが動作中であることをユーザーに示すことがあります。A bot may send a typing activity to indicate to the user that it is working to fulfill a request or compile a response.

deleteUserDatadeleteUserData

ボットは、ボットが以前に保持していたユーザーのデータを削除するようにユーザーが要求すると、deleteUserData アクティビティを受信します。A bot receives a deleteUserData activity when a user requests deletion of any data that the bot has previously persisted for him or her. ボットがこの種類のアクティビティを受信した場合、ボットはその要求を実行したユーザー用に以前保存した個人を特定できる情報 (PII) を削除する必要があります。If your bot receives this type of activity, it should delete any personally identifiable information (PII) that it has previously stored for the user that made the request.

endOfConversationendOfConversation

ボットは endOfConversation アクティビティを受信して、ユーザーが会話を終了したことを示します。A bot receives an endOfConversation activity to indicate that the user has ended the conversation. ボットは endOfConversation アクティビティを送信して、ユーザーが会話を終了したことを示すことがあります。A bot may send an endOfConversation activity to indicate to the user that the conversation is ending.

eventevent

ボットは、外部プロセスまたは外部サービスから、ボットに情報を通信することを望むが、その情報をユーザーには表示しないことを示す、event アクティビティを受信する場合があります。Your bot may receive an event activity from an external process or service that wants to communicate information to your bot without that information being visible to users. 通常、event アクティビティの送信者は、ボットがいかなる方法でも受信確認することを望みません。The sender of an event activity typically does not expect the bot to acknowledge receipt in any way.

invokeinvoke

ボットは、ボットに対する特定の操作の実行要求を表す invoke アクティビティを受信することがあります。Your bot may receive an invoke activity that represents a request for it to perform a specific operation. 通常、invoke アクティビティの送信者は、ボットが HTTP 応答で受信確認することを期待しています。The sender of an invoke activity typically expects the bot to acknowledge receipt via HTTP response. このアクティビティの種類は、Microsoft Bot Framework による内部使用のために予約されてます。This activity type is reserved for internal use by the Microsoft Bot Framework.

messageReactionmessageReaction

一部のチャネルは、ユーザーが既存のアクティビティに反応したときに、messageReaction アクティビティをボットに送信します。Some channels will send messageReaction activities to your bot when a user reacted to an existing activity. たとえば、ユーザーがメッセージの "いいね!" ボタンをクリックしたような場合です。For example, a user clicks the "Like" button on a message. ReplyToId プロパティは、ユーザーが反応したアクティビティを示します。The ReplyToId property will indicate which activity the user reacted to.

messageReaction アクティビティは、チャネルで定義されている任意の数の messageReactionTypes に対応することができます。The messageReaction activity may correspond to any number of messageReactionTypes that the channel defined. たとえば、チャネルは反応の種類として "Like" や "PlusOne" を送信できます。For example, "Like" or "PlusOne" as reaction types that a channel may send.

その他のリソースAdditional resources