如何防止消息在BotFramework Node.js中乱码?

时间:2018-08-02 04:50:57

标签: node.js azure botframework bots azure-bot-service

我正在使用azure bot框架。我只想在发送第一条消息后再发送第二条消息。

这是代码。

session.send("Hi")
   response=store.getRating();
   cards.Herocard(session,builder,response,function(msg){
      sendCard(msg,session);         
  }); 

发送“ Hi”后,只有我想发送英雄卡。
但是有时我会遇到这样的问题,例如先发卡然后发“嗨” 我尝试设置计时器(settimeout)。但这没有道理。它有时也会失败。

是否有任何方法可以识别它或类似回调/承诺之类的东西。我不确定如何在这种情况下实现相同的功能?

1 个答案:

答案 0 :(得分:1)

发送第一封邮件后,尝试通过将其创建为第二封邮件的附件来发送HeroCard。它应该看起来像这样:

session.send('Hi');
var followup = new builder.Message(session);
followup.attachments([
        new builder.HeroCard(session)
        .title("Hi")
        .subtitle("I'm a herocard")
        .text("i do stuff "+ session.message.text)
]);
session.send(followup);

您还可以单独构建HeroCard(在此代码块之前或在对其他构建器函数的调用中),并在发送后续消息时将其作为附件添加。以这种方式发送它应该可以防止消息混乱。