Est-il possible de détecter lorsqu'un utilisateur ouvre la fenêtre de chat sur Facebook?

voix
1

Je suis en train de créer un chatbot où, afin d'éviter à l'utilisateur d'ouvrir la fenêtre de chat et ne pas connaître les options disponibles, je veux donner quelques instructions de base lorsque l'utilisateur ouvre la fenêtre de chat.

Y at-il déclencheur disponible lorsque l'utilisateur ouvre une fenêtre de chat? Peut-être que je peux vérifier, et s'il n'y a pas une conversation que je pourrais donner des instructions de base.

Je l'ai fait quelques recherches sur Google et n'a rien trouvé à ce sujet. Est-il possible de faire quelque chose comme ça, et si non, est-il un moyen d'atténuer ce problème et fournir à l'utilisateur des informations concernant les capacités de ChatBot et les instructions prises en charge?

Créé 20/02/2017 à 20:05
source utilisateur
Dans d'autres langues...                            


3 réponses

voix
2

Je pense que la réponse acide n'est pas.

Mais vous pouvez intercepter le IConversationUpdateActivity message de type de savoir si l'utilisateur a ajouté le bot à une conversation. Dans le C # modèle de projet , vous pouvez trouver un bloc de code qui demande pour ce type de message , mais ne rien faire.

Créé 20/02/2017 à 20:50
source utilisateur

voix
3

Vous pouvez surveiller deux types d'événements: ConversationUpdate et ContactRelationUpdate.

La première (ConversationUpdate) est appelée lorsque est ajouté ou supprimé un utilisateur de la conversation. Donc, il y a un endroit où vous pouvez introduire des options disponibles. Ce sera chaque type de la nouvelle conversation a commencé. Ainsi, il peut devenir ennuyeux, vous pouvez ajouter un chèque - ne montre pas si l'utilisateur a utilisé le robot pendant un certain temps.

Le second (ContactRelationUpdate) est appelée lorsqu'un utilisateur ajoute ou supprime le bot à / des contacts. En général, il est seulement appelé une fois par action de l'utilisateur.

Voici l'extrait des exemples Bot-cadres:

pour 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;
}
Créé 21/02/2017 à 12:41
source utilisateur

voix
5

Facebook ne permet pas des bots pour lancer la conversation contrairement à Skype ou toute autre plate-forme. Il y a quelques trucs que vous pouvez toujours faire:

  • Allez-vous page Facebook puis sur Paramètres puis messagerie et cochez la case « Afficher un message d'accueil Messenger » comme ci-dessous, et écrivez votre phrase de salutation. entrez la description d'image ici

Le résultat ressemblera à ceci:

entrez la description d'image ici

Créé 21/02/2017 à 19:10
source utilisateur

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