Je možné zjistit, kdy uživatel otevře okno chatu na Facebooku?

hlasů
1

Snažím se vytvořit Chatbot kde, aby se zabránilo uživatel otevřít okno chatu a neví, dostupné možnosti, chci dát nějaké základní pokyny, když uživatel otevře okno chatu.

Existuje nějaký spouštěč k dispozici, když uživatel otevře okno chatu? Možná, že pak jsem si zkontrolovat, a pokud to není probíhající konverzace jsem mohl poskytnout základní instrukce.

Trochu jsem googling a zjistil, nic o tom. Je možné udělat něco takového, a pokud ne, je tu způsob, jak zmírnit tento problém, a poskytuje uživateli informace týkající se schopnosti Chatbot a podporované instrukce?

Položena 20/02/2017 v 20:05
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
2

Myslím, že kyselina odpověď není.

Ale můžete zachytit IConversationUpdateActivity typ zprávy zjistit, zda má uživatel přidal bot ke konverzaci. V C # šabloně projektu najdete blok kódu, který požádat o tento typ zprávy, ale dělat nic.

Odpovězeno 20/02/2017 v 20:50
zdroj uživatelem

hlasů
3

Můžete sledovat dva typy událostí: ConversationUpdate a ContactRelationUpdate.

První z nich (ConversationUpdate) je volána, když se přidá nebo odstraní z hovoru uživatele. Takže, tam je místo, kde můžete představit dostupné možnosti. Bude to pro každý typ nové konverzace začala. Takže, může se stát nepříjemné, můžete přidat šek - neukazují to v případě, že uživatel používá bota na nějakou dobu.

Druhá (ContactRelationUpdate) je volána, když uživatel přidá nebo odebere bot do / z kontaktů. Obecně lze říci, že se nazývá pouze jednou za akci uživatele.

Zde je výpis z příkladů Bot-rámcích:

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

Pro 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;
}
Odpovězeno 21/02/2017 v 12:41
zdroj uživatelem

hlasů
5

Facebook neumožňuje roboty zahájit konverzaci na rozdíl od Skype nebo jiné platformě. Existuje několik triků, můžete ještě udělat:

  • Jdi na vás stránku na Facebooku pak Nastavení a poté Zprávy a nechte „Ukažte Messenger pozdrav“ jak je uvedeno níže, a napsat svůj uvítací větu. zadejte popis obrázku zde

Výsledek bude vypadat takto:

zadejte popis obrázku zde

Odpovězeno 21/02/2017 v 19:10
zdroj uživatelem

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