Este posibil pentru a detecta atunci când un utilizator deschide fereastra de chat pe Facebook?

voturi
1

Am încercat să creeze un chatbot în cazul în care, în scopul de a evita utilizatorul deschide fereastra de chat și nu știe opțiunile disponibile, vreau să dau câteva instrucțiuni de bază atunci când utilizatorul deschide fereastra de chat.

Există vreo declanșare disponibilă atunci când utilizatorul deschide o fereastra de chat? Poate atunci eu pot verifica, iar dacă nu este o conversație în desfășurare am putea oferi instrucțiuni de bază.

Am făcut unele googling și a găsit nimic despre acest lucru. Este posibil de a face ceva de genul asta, iar dacă nu, există o modalitate de a atenua această problemă și să ofere utilizatorului informații cu privire la capacitățile chatbot și instrucțiunile acceptate?

Întrebat 20/02/2017 la 20:05
sursa de către utilizator
În alte limbi...                            


3 răspunsuri

voturi
2

Cred că răspunsul de acid nu este.

Dar puteți intercepta IConversationUpdateActivity mesajul de tip pentru a ști dacă utilizatorul a adăugat bot la o conversație. În șablonul # C proiect puteți găsi un bloc de cod care cere acest tip de mesaj , dar nu fac nimic.

Publicat 20/02/2017 la 20:50
sursa de către utilizator

voturi
3

Puteți monitoriza pentru două tipuri de evenimente: ConversationUpdate și ContactRelationUpdate.

Primul (ConversationUpdate) este numit când este adăugat sau scos din conversație un utilizator. Deci, există un loc unde puteți introduce opțiunile disponibile. Acesta va fi fiecare tip de noua conversație a început. Deci, ea poate deveni enervant, puteți adăuga un control - nu-l arată în cazul în care utilizatorul a folosit bot de ceva timp.

Al doilea (ContactRelationUpdate) se numește atunci când un utilizator adaugă sau elimină bot la / de contact. În general, se numește o singură dată pentru fiecare acțiune de utilizator.

Iată extrasul din exemplele Bot-cadre:

pentru 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
    }
});

Pentru 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;
}
Publicat 21/02/2017 la 12:41
sursa de către utilizator

voturi
5

Facebook nu permite roboților să inițieze conversația, spre deosebire de Skype sau altă platformă. Există câteva trucuri pe care le puteți face în continuare:

  • Du-te pe tine pagina de Facebook, apoi Setări, apoi Schimb de mesaje și verificați „Arată un salut Messenger“, ca mai jos, și scrie teza felicitare. introduceți descrierea imaginii aici

Rezultatul va arata astfel:

introduceți descrierea imaginii aici

Publicat 21/02/2017 la 19:10
sursa de către utilizator

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