2016-07-15 99 views
2

在微軟機器人框架頁面上的一個例子,他們有下面的代碼:是否可以從IDialogContext參數中獲取用戶的消息?

[Serializable] 
public class EchoDialog : IDialog<object> 
{ 
    public async Task StartAsync(IDialogContext context) 
    { 
     context.Wait(MessageReceivedAsync); 
    } 
    public async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> argument) 
    { 
     var message = await argument; 
     await context.PostAsync("You said: " + message.Text); 
     context.Wait(MessageReceivedAsync); 
    } 
} 

    public virtual async Task<HttpResponseMessage> Post([FromBody] Activity activity) 
    { 
     // check if activity is of type message 
     if (activity != null && activity.GetActivityType() == ActivityTypes.Message) 
     { 
      await Conversation.SendAsync(activity,() => new EchoDialog()); 
     } 
     else 
     { 
      HandleSystemMessage(activity); 
     } 
     return new HttpResponseMessage(System.Net.HttpStatusCode.Accepted); 
    } 

是否有可能搶從郵政通過上下文參數傳遞給StartAsync方法用戶的信息?它也可以存儲它嗎?該文檔正在我的頭上,我只想知道這個東西是否可以修改。

回答

0

您可以添加一個構造函數給EchoDialog,它存儲您喜歡的任何數據,例如Activity實例。

相關問題