MS bot, ikke reagere på aktivitet med mindre jeg fjerne samtalen data?

stemmer
0

så jeg må dialog aktiviteter, første en for å administrere brukerprofil, vil andre ta bilen av samtalen.

       StateClient stateClient = activity.GetStateClient();
       BotData userData = await stateClient.BotState.GetUserDataAsync(activity.ChannelId, activity.From.Id);
            if (userData.GetProperty<bool>(ProfileDone) == false)
            {
                await Conversation.SendAsync(activity, () => new ProfileSetup());
            }
            else
            {
                await Conversation.SendAsync(activity, () => new RootLuisDi());
            }

Nå når den første tiden i samspill med bot, sender den brukeren til ProfileSetup, ingen problemer. Etter endt profil og sette ProfileDone flagget til sann. Hvis brukeren samhandler igjen det går til RootLuisDi (), men ingenting trigger det. Men hvis jeg fjernet samtalen og prate igjen det faktisk fungerer. !!

Publisert på 30/03/2017 klokken 00:47
kilden bruker
På andre språk...                            


1 svar

stemmer
0

Jeg ville ikke gren samtalen i kontrolleren. Mitt forslag til deg er å skape en RootDialog og forgrene samtalen der ringer / videresending meldinger til andre dialoger tilsvarende.

Du kan også bruke RootLuisDidialogen som rot og gren samtalen der. Overstyre MessageReceivedmetoden, sjekk for profilen flagg og videresende meldingen til ProfileSetupdialog eller ringe til base.MessageReceived.

Sjekk dette for å lese mer om hvordan du kan sette i gang nye dialoger.

Svarte 30/03/2017 kl. 10:07
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more