Я работаю над базовыми технологиями ботов, в одном из моих текущих проектов я хочу разрешить пользователю, только если он/она набирает «ivr» или «IVR», иначе она показывает некоторую обратную связь с пользователем.Как разрешить использование пользователя только в том случае, если он/она вводит «ivr» или «IVR» с использованием концепции потока форм
Для этого я написал ниже строки кода, но этот код показывает неправильный вывод пользователю. Даже если пользователь вводит ivr или IVR, он впервые показывает обратную связь с пользователем, но со второго раза работает правильно.
[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();
}
};
Просьба сообщить мне, как решить эту проблему, используя концепцию потока форм.
-Pradeep
ваши выше выглядит как для сравнения двух строк. но я хочу, когда когда-либо пользователь вводит «ivr или IVR» в эмуляторе канала бота, тогда я хочу разрешить пользователю получать доступ к следующим полям в потоке формы, иначе не разрешаю ему. – pradeep
@pradeep Да, это то, что делает мой код. Какую проблему вы испытываете? – Dai
Моя проблема в том, что я использовал концепцию потока форм в своем боте, но я боролся, когда когда-либо пользователь вводил «ivr или IVR», то только я мог позволить ему. В другом случае он отправляет пользователю сообщение с обратной связью. – pradeep