From ef8ca3c988b4d9d65f0e253b5281fe88a1f8bd14 Mon Sep 17 00:00:00 2001 From: FlorianDahn Date: Sun, 1 Aug 2021 13:50:18 +0300 Subject: [PATCH] Adding basic example for different types of ConfirmAction --- TelegramBotBaseTest/Tests/Menu.cs | 9 +++ .../Tests/Notifications/Start.cs | 63 +++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 TelegramBotBaseTest/Tests/Notifications/Start.cs diff --git a/TelegramBotBaseTest/Tests/Menu.cs b/TelegramBotBaseTest/Tests/Menu.cs index 8f96053..6f14fec 100644 --- a/TelegramBotBaseTest/Tests/Menu.cs +++ b/TelegramBotBaseTest/Tests/Menu.cs @@ -200,6 +200,13 @@ namespace TelegramBotBaseTest.Tests break; + case "notifications": + + var not = new Notifications.Start(); + await NavigateTo(not); + + break; + default: message.Handled = false; @@ -247,6 +254,8 @@ namespace TelegramBotBaseTest.Tests btn.AddButtonRow(new ButtonBase("#18 Dynamic ButtonGrid (DataSources)", new CallbackData("a", "dynamicbuttongrid").Serialize())); + btn.AddButtonRow(new ButtonBase("#19 Notifications", new CallbackData("a", "notifications").Serialize())); + await this.Device.Send("Choose your test:", btn); } diff --git a/TelegramBotBaseTest/Tests/Notifications/Start.cs b/TelegramBotBaseTest/Tests/Notifications/Start.cs new file mode 100644 index 0000000..9fb96f1 --- /dev/null +++ b/TelegramBotBaseTest/Tests/Notifications/Start.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using TelegramBotBase.Base; +using TelegramBotBase.Form; + +namespace TelegramBotBaseTest.Tests.Notifications +{ + public class Start : AutoCleanForm + { + bool sent = false; + + public Start() + { + this.DeleteMode = TelegramBotBase.Enums.eDeleteMode.OnLeavingForm; + } + + public override async Task Action(MessageResult message) + { + if (message.Handled) + return; + + switch (message.RawData) + { + case "alert": + + await message.ConfirmAction("This is an alert.", true); + + break; + case "back": + + var mn = new Menu(); + await NavigateTo(mn); + + break; + default: + + await message.ConfirmAction("This is feedback"); + + break; + + } + + } + + public override async Task Render(MessageResult message) + { + if (sent) + return; + + var bf = new ButtonForm(); + bf.AddButtonRow("Normal feeback", "normal"); + bf.AddButtonRow("Alert Box", "alert"); + bf.AddButtonRow("Back", "back"); + + await Device.Send("Choose your test", bf); + + sent = true; + } + + } +}