如何将来自用户的消息存储在变量中? (Microsoft Bot Framework)

时间:2020-09-14 14:44:09

标签: c# botframework bots chatbot

我正在基于MS Bot Framework为我的机器人开发反馈功能。因此,我想使用Azure表存储来存储反馈。一切正常执行,只有一点:

此刻,当用户将反馈发送到机器人时,表插入过程开始。但是,不是插入用户的消息,而是将我的占位符“ moin”插入到表存储中。

// Schlüssel für den Table-Zugriff
                string accountKey = "myKey";
                string accountName = "myStorageAccountName";

                // Schlüssel werden hier für den Table-Eintrag zusammengepackt
                TableQueries tableQueries = new TableQueries
                {
                    accountKey = accountKey,
                    accountName = accountName
                };

                // Werte für den Table-Eintrag
                string rowKey = "1";
                string partitionKey = rowKey;
                string userStatement = "moin";

                // Methode für den Table-Eintrag wird hier ausgeführt
                Task<Boolean> bLinkCreated = tableQueries.InsertURL(partitionKey, rowKey, userStatement);
                bLinkCreated.Wait();

                // Wird ausgeführt, wenn keine KnowledgeBase gefunden wird
                System.Diagnostics.Debug.WriteLine("sending feedback");
                await turnContext.SendActivityAsync(MessageFactory.Text("Thanks for sending the feedback!"), cancellationToken);
                break;

如何用用户发送的消息替换当前的占位符? 是否有方法/函数可以提取用户消息,然后将其替换为我的userStatement变量?

1 个答案:

答案 0 :(得分:1)

假定您的转弯上下文为ITurnContext<IMessageActivity> turnContext。然后您可以在turnContext.Activity.Text

中找到该消息
string userStatement = turnContext.Activity.Text;