ConversationUpdateとContactRelationUpdateという2つのイベントタイプを監視できます。
最初のもの(ConversationUpdate)は、ユーザーが会話に追加または削除されたときに呼び出されます。したがって、利用可能なオプションを紹介できる場所があります。新しい会話が開始されたそれぞれのタイプになります。だから、迷惑になるかもしれません、あなたは小切手を追加するかもしれません - ユーザーがしばらくの間、ボットを使用している場合、それを表示しないでください。
2番目(ContactRelationUpdate)は、ユーザーがボットを連絡先に追加または削除するときに呼び出されます。一般的に、それはユーザーアクションごとに一度だけ呼び出されます。ここで
は、ボットフレームワークの例からの抜粋です:Facebookはボットがスカイプと違って会話を開始することはできませんNode.jsの
bot.on('conversationUpdate', function (message) {
// Check for group conversations
if (message.address.conversation.isGroup) {
// Send a hello message when bot is added
if (message.membersAdded) {
message.membersAdded.forEach(function (identity) {
if (identity.id === message.address.bot.id) {
var reply = new builder.Message()
.address(message.address)
.text("Hello everyone!");
bot.send(reply);
}
});
}
// Send a goodbye message when bot is removed
if (message.membersRemoved) {
message.membersRemoved.forEach(function (identity) {
if (identity.id === message.address.bot.id) {
var reply = new builder.Message()
.address(message.address)
.text("Goodbye");
bot.send(reply);
}
});
}
}
});
bot.on('contactRelationUpdate', function (message) {
if (message.action === 'add') {
var name = message.user ? message.user.name : null;
var reply = new builder.Message()
.address(message.address)
.text("Hello %s... Thanks for adding me. Say 'hello' to see some great demos.", name || 'there');
bot.send(reply);
} else {
// delete their data
}
});
については
C#
private void HandleMessage(Activity message)
{
if (message.Type == ActivityTypes.ConversationUpdate)
{
if (activity.MembersAdded.Any(m => m.Id == activity.Recipient.Id))
{
var connector = new ConnectorClient(new Uri(activity.ServiceUrl));
var response = activity.CreateReply();
response.Text = "Hi! I am Bot. Here's what you can do...";
await connector.Conversations.ReplyToActivityAsync(response);
}
}
else if (message.Type == ActivityTypes.ContactRelationUpdate)
{
if (Activity.AsContactRelationUpdateActivity().Action == ContactRelationUpdateActionTypes.Add)
{
var connector = new ConnectorClient(new Uri(activity.ServiceUrl));
var response = activity.CreateReply();
response.Text = "Hi! I am Bot. Thanks for adding me. Here's what you can do...";
}
}
return null;
}
:ユーザーがFacebook上でメッセンジャーのダイアログを開いたときhttps://jsfiddle.net/tjepp6n1/ – Hackerman