Ich arbeite an Bot Framework Technologie, in einem meiner aktuellen Projekte möchte ich dem Benutzer nur erlauben, wenn er/Sie tippt das '' ivr '' oder 'IVR', ansonsten gibt es eine Rückmeldung an den Benutzer.Wie kann ich dem Benutzer nur erlauben, wenn er/sie "ivr" oder "IVR" mit Hilfe des Form Flow-Konzepts eingibt
Dafür habe ich unten Zeilen geschrieben, aber dieser Code zeigt einige falsche Ausgabe an den Benutzer. Selbst wenn der Benutzer ivr oder IVR eingibt, zeigt es dem Benutzer zum ersten Mal eine Rückmeldung, aber ab dem zweiten Mal funktioniert es richtig.
[Serializable]
class Customer
{
//Create Account Template
[Prompt("Please send any of these commands like **IVR** (or) **ivr**.")]
public string StartingWord;
public static IForm<Customer> BuildForm()
{
OnCompletionAsyncDelegate<Customer> accountStatus = async (context, state) =>
{
await Task.Delay(TimeSpan.FromSeconds(5));
await context.PostAsync("We are currently processing your account details. We will message you the status.");
};
var builder = new FormBuilder<Customer>();
return builder
//.Message("Welcome to the BankIVR bot! To start an conversation with this bot send **ivr** or **IVR** command.\r \n if you need help, send the **Help** command")
.Field(nameof(Customer.StartingWord), validate: async (state, response) =>
{
var result = new ValidateResult { IsValid = true, Value = response };
string str = (response as string);
if (str.ToLower() != "ivr")
{
result.Feedback = "I'm sorry. I didn't understand you.";
result.IsValid = false;
return result;
}
else if (str.ToLower() == "ivr")
{
result.IsValid = true;
return result;
}
else
{
return result;
}
})
.OnCompletion(accountStatus)
.Build();
}
};
Bitte sagen Sie mir, wie Sie dieses Problem mit dem Form Flow-Konzept beheben können.
-Pradeep
Ihr oben sieht aus wie für den Vergleich von zwei Strings. Aber ich möchte wann immer Benutzer "ivr oder IVR" im Bot-Framework-Kanal-Emulator eingeben, dann möchte ich dem Benutzer erlauben, auf die nächsten Felder im Formularfluss zuzugreifen, ansonsten erlaube ihm nicht. – pradeep
@pradeep Ja, das ist, was mein Code tut. Welches Problem hast du? – Dai
Mein Problem ist, dass ich das Form Flow-Konzept in meinem Bot verwendet habe, aber ich habe gekämpft, wenn jemals Benutzer "ivr oder IVR" eingeben, dann kann ich ihm nur erlauben. Ansonsten sendet es eine Rückmeldung an den Benutzer. – pradeep