приветственное сообщение в ConversationUpdate для мессенджера - PullRequest
0 голосов
/ 08 ноября 2018

Используя ConversationUpdate, я показываю приветственное сообщение. Я проверил код в эмуляторе платформы бота, где он работает нормально.

Я попробовал это в мессенджере facebook и не получил ответа.

Вопрос : поддерживается ли он в мессенджере?

IConversationUpdateActivity update = message as IConversationUpdateActivity;

var client = new ConnectorClient(new System.Uri(update.ServiceUrl), new MicrosoftAppCredentials());
if (update.MembersAdded != null)
{
    foreach (var newMember in update.MembersAdded)
    {
        if (newMember.Id != update.Recipient.Id)
        {
            var reply = ((Activity)update).CreateReply($"Hello "+newMember.Name);

            client.Conversations.ReplyToActivityAsync(reply);
       }
   }
}

В частности, бот должен показывать приветственное сообщение каждый раз, когда участник начинает разговор. Также я добавил код:

newMember.Id != update.Recipient.Id 

потому что сообщение дважды появлялось в эмуляторе.

Остальные довольно просты и должны работать. Есть мысли?

1 Ответ

0 голосов
/ 08 ноября 2018

Событие ConversationUpdate не поддерживается на канале Facebook Messenger. Facebook Messenger не транслирует событие по умолчанию, когда пользователь открывает чат. Есть два варианта достижения подобного поведения:

  1. Используйте свойство Get Started для отслеживания новых разговоров. Я написал пост в блоге о как поймать это конкретное событие в BotBuilder V3 , вы можете сделать что-то подобное для BotBuilder V4.

  2. Ответьте своим приветственным сообщением после первого сообщения взаимодействия пользователя.

...