【问题标题】:Welcome message Bot Framework v4 nodejs欢迎留言 Bot Framework v4 nodejs
【发布时间】:2018-12-10 11:01:54
【问题描述】:

我正在开发一个基于 Microsoft Bot Framework (https://docs.microsoft.com/en-us/azure/bot-service/?view=azure-bot-service-4.0) 的多渠道机器人(专注于网络和电报)

我对用户收到的初始消息感到困惑。 我的机器人基于微软发布的复杂机器人:https://github.com/Microsoft/BotFramework-Samples/tree/master/SDKV4-Samples/js/complexDialogBot

我看到的问题是,模拟器机器人运行良好,网络用户没有收到欢迎消息。我已经使用 iframe 来集成机器人。

我正在检查活动类型以及何时将成员添加到聊天中,但似乎没有在网络上触发。

if (turnContext.activity.type === ActivityTypes.ConversationUpdate) {
    if (turnContext.activity.membersAdded && turnContext.activity.membersAdded.length > 0) {
        await this.sendWelcomeMessage(turnContext);
    }
}

我看到有人问过类似的问题,但要么是针对机器人框架 v3 要么是 C# 实现(例如 Welcome message not visibile in Webchat,but work in Emulator 和 Welcome Message not working in Azure portal using Microsoft Bot Builder SDK(v4) for nodejs)

【问题讨论】:

  • 在网络上,您使用的是哪个版本的网络聊天?此回复对网络聊天 v3 仍然有效stackoverflow.com/questions/50363035/…
  • 当你说你没有在网络聊天中看到它时,你的意思是你已经从频道刀片中拉出了

标签: node.js azure botframework


【解决方案1】:

试试这个

enter code here
         this.onMembersAdded(async context => {
        const membersAdded = context.activity.membersAdded;
        for (let cnt = 0; cnt < membersAdded.length; cnt++) {
            if (membersAdded[cnt].id == context.activity.recipient.id) {                    
                 const welcomeCard = CardFactory.adaptiveCard(WelcomeCard);
          }
        }
    });

【讨论】:

    【解决方案2】:

    您可以在下面的代码中解决您的问题 在 iframe 中集成 bot 你可以编写 member 在里面添加代码副本 !turnContext.responded

    if (turnContext.activity.type === ActivityTypes.Message) {
         if (!turnContext.responded) {
                await this.sendWelcomeMessage(turnContext);
         }
    }
    
    

    【讨论】:

      猜你喜欢
      • 2018-09-04
      • 2022-01-14
      • 1970-01-01
      • 2021-06-03
      • 2021-02-13
      • 2021-08-13
      • 2021-03-15
      • 1970-01-01
      • 2021-06-11
      相关资源
      最近更新 更多