Bir kullanıcı Facebook'ta sohbet penceresi açıldığında algılamak mümkün mü?

oy
1

kullanıcı sohbet penceresi açarak ve mevcut seçenekleri bilmeden önlemek için, ben kullanıcı sohbet penceresi açıldığında bazı temel talimatları vermek istediğim yere bir chatbot oluşturmaya çalışıyorum.

herhangi bir tetikleyici kullanıcı bir sohbet penceresi açıldığında mevcut mudur? Belki o zaman kontrol edebilir ve devam eden bir konuşma orada değilse ben temel talimatları sağlayabilir.

Bazı googling yaptım ve bu konuda hiçbir şey bulunamadı. Böyle bir şey yapmak mümkün mü, ve değilse, bu sorunu hafifletmek ve Chatbot yetenekleri ve desteklenen talimatları ile ilgili bilgiler kullanıcıya sağlamak için bir yol var?

Oluştur 20/02/2017 saat 20:05
kaynak kullanıcı
Diğer dillerde...                            


3 cevaplar

oy
2

Ben asit cevap olmadığını düşünüyorum.

Ama müdahale edebilir IConversationUpdateActivity kullanıcı bir sohbete bot ekledi olmadığını bilmek tipi mesajı. C # proje şablonunda bu ileti türü için sormak ama hiçbir şey bir kod bloğu bulabilirsiniz.

Cevap 20/02/2017 saat 20:50
kaynak kullanıcı

oy
3

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;
}
Cevap 21/02/2017 saat 12:41
kaynak kullanıcı

oy
5

Facebook botlar Skype veya diğer platforma aksine görüşme başlatmak için izin vermez. Hala yapabileceğiniz bazı ipuçları verilmiştir:

  • o zaman Ayarlar sonra Mesajlaşma Facebook sayfasını gidin ve aşağıdaki gibi "Messenger Tebrik göster" kontrol etmek ve tebrik cümle yazın. Burada görüntü açıklama girin

Sonuç aşağıdaki gibi görünecektir:

Burada görüntü açıklama girin

Cevap 21/02/2017 saat 19:10
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more