亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從 Messenger Location 快速回復中接收位置

如何從 Messenger Location 快速回復中接收位置

C#
藍山帝景 2022-11-13 14:54:34
我有這段代碼可以提示用戶輸入他們的位置。我正在使用 Botframework v4 和 C#。我將信使快速回復放在附件提示中。  if (response == "test location")        {            Activity reply = stepContext.Context.Activity.CreateReply();            reply.ChannelData = JObject.FromObject(            new            {                text = "loc",                quick_replies = new object[]                {                    new                    {                        content_type = "location",                    },                },            });            return await stepContext.PromptAsync(               ATTACHPROMPT,               new PromptOptions               {                   Prompt = reply,               });        }但是在用戶發送它的位置之后。機器人崩潰。我如何處理位置的返回,這樣機器人就不會崩潰?這是例外System.ArgumentNullException:值不能為空。參數名稱:Microsoft.Bot.Builder.AI.Luis.LuisRecognizer.d*23.MoveNext() 處的話語---從先前引發異常的位置結束堆棧跟蹤---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo。在 Microsoft.Bot.Builder.AI.Luis.LuisRecognizer.d*10.MoveNext( ) --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 在 System.Runtime.CompilerServices 的 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 處的堆棧跟蹤從引發異常的先前位置結束.TaskAwaiter。
查看完整描述

1 回答

?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

當用戶在 Facebook Messenger 中單擊位置快速回復時,傳入的活動沒有文本屬性,這會在調用 LUIS 時導致“值不能為空”錯誤。這是目前 BotFramework 中的一個已知問題,開發團隊目前正在努力解決此問題。同時,在調用 LUIS 識別器之前檢查以確保傳入活動的文本屬性不為空或為空。


if(!string.IsNullOrEmpty(turnContext.Activity.Text)) {

  var luisResults = await _services.LuisServices[LuisConfiguration].RecognizeAsync(dc.Context, cancellationToken);

希望這可以幫助!


查看完整回答
反對 回復 2022-11-13
  • 1 回答
  • 0 關注
  • 78 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號