2016-05-12 10 views
1

In meinem Bot möchte ich Anhänge von Benutzern akzeptieren. Ich weiß, wie sie in erhalten:Botframe Handling-Anhänge pro Benutzer und Konversation

public async Task<Message> Post([FromBody]Message message) 
     {   
      if (message.Type == "Message") 
      { 
       if (message.Attachments.Count > 0) 
       { 
        foreach (var afile in message.Attachments) 
        { 
         lstFiles.Add(afile.ContentUrl); 
        }         
       }  

, was ich hier tue, ist sie zu speichern, wie sie in lstFiles ankommen, die Liste von Strings privat Klasse MessagesController ist: ApiController, auf diese Weise ich, ich kenne diese Dateien haben kann und ihre URLs

Wenn beenden Benutzer die Beantwortung der Fragen (ich verwende Formflow) im Do Ereignisse speichere ich seine Eingabe in Azure-Speichertabelle

 internal static IDialog<VGMData> MakeRootDialog() 
      {   
       return Chain.From(() => FormDialog.FromForm(VEMData.BuildForm))     
          .Do(async (context, order) => 
          { 
    var completed = await order;        
    StoreAndSendEmailConfirmations(completed); 
    await context.PostAsync("And I am done... .."); 
} 

ich kann nicht verstehen, wie kann ich den Zugriff auf angehängte Dateien habe in th e. Führen Sie die Funktion aus, damit ich den Download und die anschließende Speicherung im azure Blob für vom Benutzer und in seiner Konversation gesendete Dateien starten kann. Das einzige, was ich zu haben scheint, ist 'Kontext' und 'Reihenfolge', das sind Benutzerdatenantworten, aber ohne Anhangsdateien. Ich kann lstFiles holen, aber ich befürchte, dass es Dateien von verschiedenen gleichzeitigen Benutzern und Konversationen enthalten kann.

Vielen Dank im Voraus, um die Liste der Anhänge in der Tasche PerUserPerConversation Daten Roman

Antwort

2

Sie wollen Speicherung vielleicht prüfen. Auf diese Weise können Sie sicherstellen, dass Sie die Daten abrufen, die sich auf den Benutzer beziehen, der an dieser Konversation teilnimmt.

Here ist die Dokumentation um wie der Bot-Spur-Status.

+0

Danke, ich habe die Dokumentation über den Bot-Zustand gelesen, bevor Sie gefragt haben. Wo meine Verwirrung kommt ist, dass ich eigentlich nie ReplyMesage verwenden, geht alles über FormFlow und mein Problem ist, dass ich nicht weiß, wie ich Zugriff auf Nachricht Datenbeutel von innen haben kann.Ereignis am Ende – user2275313

+0

Ich verstand, In .Do Ereignis Ich habe Zugang über context.PerUserInConversationData Danke für Ihre Beratung. – user2275313

Verwandte Themen