Dela via


Indata i anpassningsbara dialogrutor – referensguide

GÄLLER FÖR: SDK v4

Bot Framework SDK definierar olika indatadialogrutor för att samla in och verifiera användarindata.

Input type Indataklass Description Returer
Basklass InputDialog Det här är basklassen som alla indataklasser härleds från. Den definierar alla delade egenskaper. Ett objekt.
Text Textinput Används för att be användarna om ett ord eller en mening. En sträng.
Antal NumberInput Används för att be användarna om ett nummer. Ett numeriskt värde.
Bekräftelse ConfirmInput Används för att begära en bekräftelse från användaren. Ett booleskt värde.
Flera alternativ ChoiceInput Används för att be om ett val från en uppsättning alternativ. Värdet eller indexet för markeringen.
Fil eller bifogad fil AttachmentInput Används för att begära/aktivera en användare för att ladda upp en fil. En samling bifogade objekt.
Datum eller tid DateTimeInput Används för att be användarna om datum och tid. En samling datum-tid-objekt.
Oauth-inloggning OAuthInput Används för att göra det möjligt för användarna att logga in på en säker webbplats. Ett tokensvar.

InputDialog

De indataklasser som tillhandahålls av Bot Framework SDK härleds alla från den grundläggande indatadialogrutan, som härleds från dialogklassen. Alla indatadialogrutor har följande vanliga egenskaper:

AllowInterruptions

Ett booleskt uttryck. trueför att låta den överordnade dialogrutan avbryta indatadialogrutan. annars . false

Kommentar

Den överordnade dialogrutan för indata kan också avbrytas. Det innebär att när AllowInterruptions är truekörs identifieraren i den överordnade anpassningsbara indatadialogrutan och dess utlösare utvärderas.

AlwaysPrompt

Ett booleskt uttryck. Om true, fråga alltid efter indata, om false, fråga bara när den bundna egenskapen är null eller tom.

Standardvärde

Ett anpassningsbart uttryck som representerar standardresultatet för indatadialogrutan. Om användarens indata misslyckas för maximalt antal svängar avslutas indatadialogrutan och standardvärdet anges till den här egenskapen.

DefaultValueResponse

Svaret som skickas när användarnas indata misslyckas med valideringen för MaxTurnCount vänds och en DefaultValue anges.

InvalidPrompt

Aktivitetsmallen som du vill använda för indata igen om användarens indata identifieras men misslyckas med valideringen. (Om indata misslyckas för maximalt antal varv används standardvärdet och standardvärdesvaret skickas.)

Kommentar

Egenskapen InvalidPrompt fungerar endast tillsammans med egenskapen Validering .

MaxTurnCount

Ett heltalsuttryck. Det maximala antalet gånger som du vill be om indata. Om den här gränsen överskrids används standardvärdet och standardvärdesvaret skickas.

Prompt

Aktivitetsmallen som du först ska fråga efter användarindata med.

Property

Minnessökvägen, eller ett uttryck som utvärderas till minnessökvägen, för egenskapen som indatadialogrutan ska bindas till. Minnessökvägen används för att hämta det initiala värdet för indatadialogrutan. Den kommer också att användas för att lagra resultatet av den här dialogrutan. Prompt Både egenskapen och går igenom igenkänningsValue- och valideringsstegen, så ett ogiltigt initialt värde resulterar i en uppmaning.

Använd detta för att definiera vilken egenskap som indatadialogrutan är bunden till. Till exempel:

UnrecognizedPrompt

Aktivitetsmallen som du vill använda för indata om användarens indata inte känns igen. (Om indata misslyckas för maximalt antal varv används standardvärdet och standardvärdesvaret skickas.)

Valideringar

En lista över booleska uttryck. Identifierade indata är ogiltiga om något av dessa uttryck utvärderas till false. Du kan använda this.value för att undersöka användarindata i valideringsuttrycken. Valideringar uttrycks med hjälp av anpassningsbara uttryck

Värde

Ett stränguttryck. Minnessökvägen för egenskapen för att hämta indata från varje tur. Den här egenskapen används som startvärde för indatadialogrutan om dialogrutans egenskap utvärderas till null eller tom. Om både dialogrutans egenskaps- och värdeegenskaper utvärderas till null eller tomma kommer dialogrutan att fråga efter indata.

Saker att tänka på när det gäller egenskapen Value :

  • Egenskapen Value är ett anpassningsbart uttryck.
  • Om uttrycket returnerar null kan indatadialogrutan försöka hämta data från indata direkt.
  • Om uttrycket är ett värde används det som indata.
  • Med Value egenskapen kan du definiera hur data, till exempel Identifierarresultat , är bundna till indatadialogrutan.

Exempel:

  • Så här binder du indata till alla åldersentiteter som identifieras i indata: "=@age"
  • Så här använder @age du eller @number som indata: "=coalesce(@age, @number)"

Dricks

Du kan se ett exempel som använder dessa InputDialog egenskaper i kodexemplet i avsnittet NumberInput nedan.

TextInput

Använd textinmatning när du vill ordagrant acceptera användarindata som ett värde för en specifik information som roboten försöker samla in. Exempel är användarens namn och ämnet för ett e-postmeddelande.

Åtgärden TextInput ärver alla egenskaper som definierats i InputDialog och definierar ytterligare en egenskap:

  • OutputFormat: Med hjälp av anpassningsbara uttryck kan du ändra strängen, till exempel i kodexemplet under OutputFormat uttrycket med versal den första bokstaven i varje ord i användarnamnet.

NumberInput

Ber användaren om ett tal.

Åtgärden NumberInput ärver alla egenskaper som definierats i InputDialog och definierar dessa två ytterligare egenskaper:

  1. DefaultLocale: Anger standardspråket för indatabearbetning som ska användas om inte en av anroparen skickar den. Språk som stöds är spanska, nederländska, engelska, franska, tyska, japanska, portugisiska, kinesiska.
  2. OutputFormat: Med anpassningsbara uttryck kan du vidta åtgärder för att manipulera talet på något sätt. Du kan till exempel skriva ett uttryck för att konvertera ett tal som anges som en temperatur som anges i Fahrenheit till dess motsvarande Celsius-värde, utföra en matematisk beräkning, till exempel lägga till skatte- och fraktkostnader till det angivna värdet eller helt enkelt utföra en typkonvertering för att ange att värdet antingen är ett flyttal eller heltal som visas i exempelkoden nedan.

ConfirmInput

Bekräftelseindata är användbara att använda när du har frågat användaren en fråga och vill bekräfta deras svar. Till skillnad från åtgärden Flerval som gör det möjligt för roboten att presentera en lista för användaren att välja mellan, uppmanar bekräftelsen användaren att fatta ett binärt beslut (ja/nej).

Åtgärden ConfirmInput ärver alla egenskaper som definierats i InputDialog och definierar följande ytterligare egenskaper:

  1. ChoiceOptions: Används för att formatera presentationen av de bekräftelseval som presenteras för användaren, det här är ett anpassningsbart uttryck som utvärderas till ett ChoiceSet objekt. Det här ChoiceSet objektet används endast som en säkerhetskopia om det första försöket till igenkänning av felet ConfirmInput misslyckas. När åtgärden ConfirmInput körs försöker den först utvärdera indata som ett booleskt värde. Om det misslyckas gör det ett andra försök, den här gången med hjälp av en valigenkänning som utvärderar mot ChoiceSet.
  2. ConfirmChoices: Alternativen eller ett anpassningsbart uttryck som utvärderas till de val som ska visas för användaren.
  3. DefaultLocale: Anger standardspråket för indatabearbetning som ska användas om inte en av anroparen skickar den. Språk som stöds är spanska, nederländska, engelska, franska, tyska, japanska, portugisiska, kinesiska
  4. OutputFormat: Standardutdataformatet ConfirmInput för åtgärden är booleskt. Du kan åsidosätta det med hjälp av OutputFormat egenskapen, ett anpassningsbart uttryck som du kan använda för att ändra returresultatet om det behövs. Du kan till exempel använda detta för att få ConfirmInput åtgärden att returnera ett tal: OutputFormat = "if(this.value == true, 1, 0)". Om den här egenskapen anges är uttryckets utdata det värde som returneras av dialogrutan.
  5. Style: Detta definierar vilken typ av lista som ska presenteras för användaren när de bekräftar sina indata. Detta använder uppräkningen ListStyle som består av:
    1. None: Ta inte med några alternativ för prompt.
    2. Auto: Välj automatiskt rätt formatmall för den aktuella kanalen.
    3. Inline: Lägg till alternativ för att fråga som en infogad lista.
    4. List: Lägg till alternativ för att fråga som en numrerad lista.
    5. SuggestedAction: Lägg till alternativ för att fråga som föreslagna åtgärder.
    6. HeroCard: Lägg till alternativ för att fråga som ett HeroCard med knappar.

ChoiceInput

Alternativindata är en uppsättning alternativ som presenteras för användaren som ett val med flera val som gör att du kan visa en lista över alternativ som användarna kan välja mellan.

Åtgärden ChoiceInput ärver alla egenskaper som definierats i InputDialog och definierar följande ytterligare egenskaper:

  1. ChoiceOptions: Den här egenskapen används för att formatera presentationen av de bekräftelseval som visas för användaren.
  2. Choices: Ett anpassningsbart uttryck som utvärderas till en ChoiceSet som innehåller listan [ordnad] med alternativ som användaren kan välja mellan.
  3. DefaultLocale: Anger standardspråket för indatabearbetning som ska användas om inte en av anroparen skickar den. Språk som stöds är spanska, nederländska, engelska, franska, tyska, japanska, portugisiska, kinesiska
  4. OutputFormat: ett anpassningsbart uttryck som utvärderas till ett av uppräkningsvärdena ChoiceOutputFormat .
  5. Style: Detta definierar vilken typ av lista som ska presenteras för användaren när de bekräftar sina indata. Detta använder uppräkningen ListStyle som består av:
    1. None: Ta inte med några alternativ för prompt.
    2. Auto: Välj automatiskt rätt formatmall för den aktuella kanalen.
    3. Inline: Lägg till alternativ för att fråga som en infogad lista.
    4. List: Lägg till alternativ för att fråga som en numrerad lista.
    5. SuggestedAction: Lägg till alternativ för att fråga som föreslagna åtgärder.
    6. HeroCard: Lägg till alternativ för att fråga som ett HeroCard med knappar.
  6. RecognizerOptions: FindChoicesOptions eller uttryck som utvärderas till FindChoicesOptions. Har FindChoicesOptions följande egenskaper:
    1. NoValue: Ett booleskt värde. true för att söka efter varje vals värdeegenskap , annars false. Standardvärdet är false.
    2. NoAction: Ett booleskt värde. trueom du vill söka efter rubriken för varje vals åtgärdsegenskap, annars false. Standardvärdet är false.
    3. RecognizeNumbers: Ett booleskt värde. trueför att tillåta att indata återgår till att använda en nummerigenkänning för att matcha mot indatavalen; annars . false Standardvärdet är true.
    4. RecognizeOrdinals: Ett booleskt värde. trueför att tillåta att indata återgår till att använda en ordningstalsigenkänning för att matcha mot indatavalen; annars . false Standardvärdet är true.

DateTimeInput

Frågar efter datum/tid.

Åtgärden DateTimeInput ärver alla egenskaper som definierats i InputDialog och definierar följande ytterligare egenskaper:

  1. DefaultLocale: Anger standardspråket för indatabearbetning som ska användas om inte en av anroparen skickar den. Språk som stöds är spanska, nederländska, engelska, franska, tyska, japanska, portugisiska, kinesiska.
  2. OutputFormat: Standardutdata för DateTimeInput är en matris med DateTimeResolutions, med den här egenskapen kan du definiera ett anpassningsbart uttryck. Det värde som returneras blir det slutliga värdet för dialogrutans property egenskap, oavsett om det utvärderas till en datum-tid eller inte.

AttachmentInput

Använd för att begära en bifogad fil från användaren som indata.

Åtgärden AttachmentInput ärver alla egenskaper som definierats i InputDialog och definierar den här ytterligare egenskapen:

  • OutputFormat: Eller AttachmentOutputFormat ett uttryck som utvärderas till en AttachmentOutputFormat. Giltiga AttachmentOutputFormat värden är:
    1. All: returnera alla bifogade filer som en lista.
    2. First: returnera endast den första bifogade filen.

OAuthInput

Använd för att be användaren att logga in.

Åtgärden OAuthInput ärver alla egenskaper som definierats i InputDialog och definierar följande ytterligare egenskaper:

  1. ConnectionName: Namnet på OAuth-anslutningen som konfigurerats på sidan för Azure AI Bot Service-inställningar för roboten.
  2. Text: Ytterligare text som ska visas i inloggningskortet.
  3. Title: Rubriktext som ska visas i inloggningskortet.
  4. Timeout: Det här är antalet millisekunder som OAuthInput väntar på att användarautentiseringen ska slutföras. Standardvärdet är 900 000 millisekunder, vilket är 15 minuter.

Åtgärden OAuthInput definierar också två nya metoder:

  1. GetUserTokenAsync: Den här metoden försöker hämta användarens token.
  2. SignOutUserAsync: Den här metoden loggar ut användaren.

Åtgärden OAuthInput returnerar ett TokenResponse objekt som innehåller värden för ChannelId, ConnectionName, Token, Expiration. I exemplet nedan placeras returvärdet i minnesomfånget turn : turn.oauth. Du kan komma åt värden från detta som visas i LoginSteps() metoden: new SendActivity("Here is your token '${turn.oauth.token}'.").

Följande länkar innehåller generaliserad information om ämnet autentisering i Microsoft Bot Framework SDK. Den här informationen är inte anpassad eller specifik för anpassningsbara dialogrutor.