Messenger的ConversationUpdate中的欢迎消息

时间:2018-11-08 06:27:03

标签: c# botframework bots facebook-messenger-bot

使用ConversationUpdate我显示欢迎消息。 我已经在bot框架模拟器中测试了代码,可以正常工作。

我在Facebook Messenger中进行了尝试,但未得到任何回应。

问题:即时通讯程序支持吗?

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 :(得分:1)

Facebook Messenger频道不支持ConversationUpdate事件。用户打开聊天时,默认情况下,Facebook Messenger不会广播事件。有两种选择可实现类似的行为:

  1. 使用Get Started属性跟踪新对话。我写了一篇有关how to catch this specific event in BotBuilder V3的博客文章,您可以为BotBuilder V4做类似的事情。

  2. 在用户第一次与用户互动后回复您的欢迎信息。