Ist es möglich, zu erkennen, wenn ein Benutzer auf die Chat-Fenster auf Facebook öffnet?

stimmen
1

Ich versuche, eine chatbot zu schaffen, wo, um dem Benutzer das Öffnen des Chat-Fensters zu vermeiden, und nicht um die verfügbaren Optionen zu wissen, möchte ich einige grundlegende Anweisungen geben, wenn der Benutzer das Chat-Fenster öffnet sich.

Gibt es einen Trigger zur Verfügung, wenn der Benutzer ein Chat-Fenster öffnet? Vielleicht kann ich dann überprüfen, und wenn es nicht ein laufendes Gespräch ist konnte ich grundlegende Anweisungen geben.

Ich habe einige googeln und fand nichts. Ist es möglich, so etwas zu tun, und wenn nicht, ist es eine Möglichkeit, dieses Problem zu mildern, und bieten dem Anwender Informationen über die chatbot Fähigkeiten und unterstützt Anweisungen?

Veröffentlicht am 20/02/2017 um 20:05
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
2

Ich denke, die Säure Antwort nicht.

Aber Sie können die abfangen IConversationUpdateActivity Typ Nachricht wissen , ob der Benutzer den Bot zu einem Gespräch hinzugefügt. Im C # Projektvorlage können Sie einen Codeblock finden , die für diesen Nachrichtentyp fragen , aber nichts zu tun.

Beantwortet am 20/02/2017 um 20:50
quelle vom benutzer

stimmen
3

Sie können für zwei Ereignistypen überwachen: ConversationUpdate und ContactRelationUpdate.

Die erste (ConversationUpdate) wird aufgerufen, wenn ein Benutzer hinzugefügt wird, oder aus dem Gespräch entfernt. So gibt es einen Ort, wo man Optionen vorstellen kann. Es wird jede Art sein, das neue Gespräch begonnen hat. So kann es lästig werden, Sie einen Scheck hinzufügen können - es nicht zeigen, wenn der Benutzer den Bot seit einiger Zeit verwendet hat.

Die zweite (ContactRelationUpdate) wird aufgerufen, wenn ein Benutzer hinzugefügt oder entfernt den Bot nach / von den Kontakten. In der Regel wird es nur einmal pro Benutzer Aktion aufgerufen.

Hier ist der Auszug aus den Bot-Frameworks Beispiele:

für 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
    }
});

Für 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;
}
Beantwortet am 21/02/2017 um 12:41
quelle vom benutzer

stimmen
5

Facebook erlaubt keine Bots, das Gespräch im Gegensatz zu Skype oder andere Plattform zu initiieren. Es gibt einige Tricks, die Sie noch tun können:

  • Gehen Sie auf Sie Facebook-Seite, dann auf Einstellungen dann Messaging und überprüfen Sie „Zeigen Sie ein Messenger-Gruß“, wie unten, und geben Sie Ihren Gruß Satz. Geben Sie hier image description

Das Ergebnis wird wie folgt aussehen:

Geben Sie hier image description

Beantwortet am 21/02/2017 um 19:10
quelle vom benutzer

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