发送消息时感到困惑。 dialog.add()? session.send()? context.sendActivity()?

Confused on sending messages. dialog.add()? session.send()? context.sendActivity()?

这让我非常困惑,想拔掉我的头发。我开始从它的模板生成一个 echo 机器人,它运行良好。他们通过 onTurn() 方法使用 turnContext.sendActivity("Some message") 发送消息。好听。。。超清晰。

然后我在网上搜索如何发送卡片,我看到了这个:

var msg = new builder.Message(session)
    .addAttachment({ ... })

那是什么? echo 机器人模板没有 builder。我怎么得到它?我需要它吗?我在哪里可以找到如何导入这个 builder 东西?我只有一个 turnContext 对象。 session 哪里来的?

然后我了解如何向我的机器人添加身份验证。我在网上看到一个示例,但现在他们正在使用 dialogs 并且他们正在 dialog.adding 瀑布步骤。在其他示例中,我看到他们使用 dialog 发送文本响应。我以为你用 sessionturnContext 发送文本回复。现在这是三种不同的发送消息的方式,我对此非常困惑。

看起来您正在使用框架的 v4,但偶然发现了一些 v3 示例代码。例如,session 在 v4 中不再存在。尝试启动 here in the documentation and here for samples 以确保您查看的是完整的 v4 代码。