2016-05-04 6 views
0

es ist mir nicht klar, schießen, wie Nachrichten zu feuern anders als „Nachricht“ mit Bot-Framework mit C#:Wie anders Message mit Microsoft Bietet Rahmen

http://docs.botframework.com/connector/message-types/

Zum Beispiel wünsche ich EndOfConversation Nachricht senden. Ich benutzte

context.Done<string>(message);

zu nennen, aber nichts scheint zu passieren, als

private Message HandleSystemMessage(Message message) 
{   
    else if (message.Type == "UserAddedToConversation") 
    { 

    } 
} 

nicht ausgelöst wird und Zustandsvariablen werden nicht zurückgesetzt.

Wie diese Art von Ereignissen ausgelöst werden?

Dank

Antwort

2

Mein Verständnis ist, dass EndOfConversation Nachricht von Bot-Connector im Fall beispielsweise ausgelöst, wenn der Benutzer die Chat-Verbindung mit dem Bot geschlossen hat. context.Done wird vom Dialog verwendet, um anzuzeigen, dass der eigentliche Dialog beendet wurde und wir auf das Ergebnis des Dialogs zugreifen können. Dies bedeutet nicht unbedingt, dass die Konversation mit dem Benutzer beendet ist (zB möchten Sie vielleicht einen anderen Dialog starten) die gleiche Konversation).

+0

Hallo Dmitri, Ich benutze Context.Done und das Ereignis wird nicht ausgelöst. Wenn ich den Emulator verwende, wird das Ereignis ausgelöst. Das ist seltsam – Jano

+1

@Jano, ich denke, es ist das richtige Verhalten. Wenn Sie context.Done aufrufen, wird der Dialog mit dem Benutzer beendet, aber die Konversation kann theoretisch weitergehen - deshalb wird EndOfConversation nicht ausgelöst. EndOfConversation wird auf der Benutzerseite (Emulator, aktueller Chat-Client usw.) und nicht auf der Seite des Chat-Bot ausgelöst. –

Verwandte Themen