信使的 ConversationUpdate 中的欢迎消息

welcome message in ConversationUpdate for messenger

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

我在 facebook messenger 上试过了,没有收到任何回复。

问题: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 

因为消息在模拟器中出现了两次。

其余的都非常简单,预计可以正常工作。有什么想法吗?

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

  1. 使用Get Started property to track new conversations. I wrote a blogpost about how to catch this specific event in BotBuilder V3,你可以为BotBuilder V4做类似的事情。

  2. 在用户第一次消息交互后回复您的欢迎消息。