Lehetséges, hogy érzékeli, ha a felhasználó megnyitja a chat ablakban a Facebook-on?

szavazat
1

Próbálok létrehozni chatbot ahol annak érdekében, hogy elkerüljék a felhasználó megnyitja a chat ablakot, és nem tudta, a rendelkezésre álló lehetőségek, szeretnék adni néhány alapvető utasításokat, amikor a felhasználó megnyitja a chat ablak.

Van-e kiváltó elérhető, ha a felhasználó megnyit egy chat ablak? Talán akkor tudom ellenőrizni, és ha ott nem egy beszélgetést folytat tudtam biztosítani az alapvető utasításokat.

Én néhány googling és nem talált semmit erről. Lehetséges, hogy tegyen valamit, mint ez, és ha nem, van egy módja, hogy enyhítse ezt a problémát, és hogy a felhasználó információt a chatbot képességeket és támogatja az utasításokat?

A kérdést 20/02/2017 20:05
a forrás felhasználó
Más nyelveken...                            


3 válasz

szavazat
2

Azt hiszem, a sav válasz nem.

De lehet elkapjam a IConversationUpdateActivity típusú üzenetet tudja, ha a felhasználó hozzáadott a bot egy beszélgetést. A C # projekt sablon megtalálható kódblokkban kér ilyen üzenet típusát, de nem csinál semmit.

Válaszolt 20/02/2017 20:50
a forrás felhasználó

szavazat
3

Figyelemmel kísérhetjük a két esemény típusok: ConversationUpdate és ContactRelationUpdate.

Az első (ConversationUpdate) nevezzük, amikor a felhasználó hozzá vagy távolítottak el a beszélgetést. Tehát, van egy hely, ahol be rendelkezésre álló lehetőségeket. Ez lesz minden egyes új beszélgetést kezdett. Így válhat bosszantó, akkor adjunk hozzá egy csekket - nem mutatja meg, ha a felhasználó már használja a bot egy ideig.

A második (ContactRelationUpdate) nevezzük, amikor a felhasználó hozzáadása vagy eltávolítása a bot / a kapcsolatokat. Általánosságban elmondható, hogy csak az úgynevezett egyszer felhasználói beavatkozás.

Itt a kivonat a Bot-keretrendszerek példa:

Mert 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;
}
Válaszolt 21/02/2017 12:41
a forrás felhasználó

szavazat
5

Facebook nem teszi lehetővé a botokat, hogy megindítja a beszélgetést ellentétben Skype vagy más platform. Vannak trükkök akkor is csinálni:

  • Menj te Facebook oldalt, akkor a Beállítások, majd a Messaging és ellenőrizze „Itt a Messenger köszöntő”, mint az alábbi, és írjuk be az üdvözlő mondat. írja kép leírása itt

Az eredmény így fog kinézni:

írja kép leírása itt

Válaszolt 21/02/2017 19:10
a forrás felhasználó

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