Azure Bot Framework-Direct Line集成在用户键入某些内容之前不会显示介绍性消息

时间:2019-12-23 16:37:29

标签: azure botframework

我已经部署了一个Azure机器人,现在我正试图使其可用于测试。

我已按照here的说明将漫游器嵌入到单独的Azure Web应用程序中(在html页面中),但是直到您键入内容后,入门消息才会显示。

因此要测试我的测试人员,必须输入“ go”(或类似名称)以开始测试该机器人。

使用模拟器测试本地主机是可以的。

通过Azure门户进行测试也是可以的(但是我的测试人员无法访问Azure门户)。

2 个答案:

答案 0 :(得分:0)

查看此Send welcome Event Sample,该视频展示了如何在WebChat中实现该功能

答案 1 :(得分:0)

在您的Bot文件中,添加以下代码:

protected override async Task OnMembersAddedAsync(IList<ChannelAccount> membersAdded, ITurnContext<IConversationUpdateActivity> turnContext, CancellationToken cancellationToken)
        {
            try
            {
                foreach (var member in membersAdded)
                {
                    if (member.Id != turnContext.Activity.Recipient.Id)
                    {
                        var Userid=turnContext.Activity.From.Name;
                        UserProfile userProfile = await _botStateService.UserProfileAccessors.GetAsync(turnContext, () => new UserProfile());
                        userProfile.name = Userid;
                        await _botStateService.UserProfileAccessors.SetAsync(turnContext, userProfile);
                        await turnContext.SendActivityAsync(MessageFactory.Text($" Hi, bot here "), cancellationToken);
                    }
                }
            }