2017-04-06 120 views
1

我看到一些奇怪的行为,当我首次与Azure Bot Service联系时看到一些初始消息。 Bot服务是用C#编写的,可以在Bot目录中找到。Azure Bot服务欢迎消息问题

这里的链接吧:https://bots.botframework.com/bot?id=AppServiceDomainChecker

当你在Facebook的使者,我最初的“你好” /与之聊天欢迎消息将显示两次。如果您在Skype或Microsoft Teams上与它聊天,有时会播放该消息。有时候不会。

初始run.csx代码是在这里:https://github.com/MattTatoczenko/AppServiceDomainChecker/blob/master/messages/run.csx

我所指的部分是在ActivityTypes.ConversationUpdate一个,这是应该当一个新成员加入到聊天被调用。

有什么我可以做的,以确保这个运行一次,只有一次在用户用来与我的机器人谈话的所有渠道?

+0

可能的重复[当用户发送消息到我的机器人,他收到欢迎消息。但是当用户回应时,bot再次发送欢迎消息。我怎样才能解决这个问题?](http://stackoverflow.com/questions/41823446/when-user-sends-message-to-my-bot-he-receives-welcome-message-but-when-user-re) –

+0

这是run.csx中使用的代码: var newMembers = update.MembersAdded?.Where(t => t.Id!= activity.Recipient.Id); 这是使用Bot服务时与基本模板一起提供的默认代码。似乎它会检查Bot ID并且不会将其添加到成员列表中。 其他建议? – MattTatoczenko

回答

2

看着你的代码,你似乎在使用一些过时的代码。它看起来像在旧版本1中发布的示例。到目前为止,我没有任何问题,使用更新,更清晰,更快速,更易于使用的方式处理。我建议你改变你的消息控制器遵循约定laid out here.

+0

我刚刚更新了我的run.csx文件以获得更新的格式。我会拭目以待,看看是否有帮助。我似乎无法在一个用户身上找到在Facebook上留言的方式,所以我无法亲自测试它。 – MattTatoczenko

相关问题