ConversationUpdate ve ContactRelationUpdate: İki olay türleri için izleyebilirsiniz.
Bir kullanıcı ilave ya da konuşma çıkarıldığında ilk (ConversationUpdate) olarak adlandırılır. Yani, mevcut seçenekleri tanıtabilirsiniz bir yer var. Yeni konuşma başladıktan her tür olacaktır. Yani, sen bir çek ekleyebilir, rahatsız edici hale gelebilir - Kullanıcı süredir bot kullanan olup olmadığını göstermek yok.
Bir kullanıcı ekler veya kişileri için / bot kaldırır (ContactRelationUpdate), ikinci olarak adlandırılır. Genel olarak, sadece kullanıcı eylemi başına bir kez denir.
İşte Bot-Çerçeveler örneklerden özü var:
node.js için
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 # için
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;
}