Method 1:
public async Task WelcomeAsync(
IDialogContext context,
IAwaitable<Message> argument)
{
var message = await argument;
message.SetBotConversationData("DateTime", DateTime.UtcNow);
StorageAccess.StoreTemporaryLog(
StorageAccess.GetDateTime(message.GetBotConversationData<DateTime>("DateTime")),
"user",
message.Text);
await context.PostAsync(
"Welcome to VAM Insurance Bot\n" +
"Do you already have a policy or do you want to buy a new policy?\n" +
"1.Already\n" +
"2.New\n" +
"Please enter the correct choice:");
StorageAccess.StoreTemporaryLog(
StorageAccess.GetDateTime(message.GetBotConversationData<DateTime>("DateTime")),
"bot",
"Welcome to VAM Insurance Bot\n" +
"Do you already have a policy or do you want to buy a new policy?\n" +
"1.Already\n" +
"2.New\n" +
"Please enter the correct choice:");
context.Wait(AlreadyNewAsync);
}
Method 2:
public async Task AuthenicateClientAsync(
IDialogContext context,
IAwaitable<Message> argument)
{
var message = await argument;
StorageAccess.StoreStructuredLog(
StorageAccess.GetDateTime(message.GetBotConversationData<DateTime>("DateTime")),
message.GetBotUserData<string>("policyNo"),
"user",
message.Text);
if (DBAccess.AuthenticateOTP(message.Text))
{
await context.PostAsync("You have been successfully authenticated!");
StorageAccess.StoreStructuredLog(
StorageAccess.GetDateTime(
message.GetBotConversationData<DateTime>("DateTime")),
message.GetBotUserData<string>("policyNo"),
"bot",
"You have been successfully authenticated!");
await context.PostAsync(
"What would you like to do?\n" +
"1. View your policy\n" +
"2. Renew you policy\n" +
"3. File an insurance claim\n" +
"Please enter the suitable options number:");
StorageAccess.StoreStructuredLog(
StorageAccess.GetDateTime(
message.GetBotConversationData<DateTime>("DateTime")),
message.GetBotUserData<string>("policyNo"),
"bot",
"What would you like to do?\n" +
"1. View your policy\n" +
"2. Renew you policy\n" +
"3. File an insurance claim\n" +
"Please enter the suitable options number:");
context.Wait(ViewRenewFileClaimAsync);
}
else
{
await context.PostAsync(
"The OTP that you have entered is either incorrect or expired.\n" +
"Would you like to go over again?\n" +
"Yes\n" +
"No");
StorageAccess.StoreStructuredLog(
StorageAccess.GetDateTime(
message.GetBotConversationData<DateTime>("DateTime")),
message.GetBotUserData<string>("policyNo"),
"bot",
"The OTP that you have entered is either incorrect or expired.\n" +
"Would you like to go over again?\n" +
"Yes\n" +
"No");
context.Wait(RepeatAsync);
}
}
These are two dialogue methods in my project. I deployed them to Azure and connected to Telegram. But "\ n" does not seem to work everywhere. It only works in some places, as you can see in the screenshot. As you can see, the dialogs of method 1 do not receive new lines. But in method 2, they expect a new line to appear for the last. Visit https://storageangsu.blob.core.windows.net/policy-number-0123456789/image_damage for an image
source
share