using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using TelegramBotBase.Base; using TelegramBotBase.Form; namespace TelegramBotBaseTest.Tests { public class ButtonTestForm : AutoCleanForm { public ButtonTestForm() { this.Opened += ButtonTestForm_Opened; } private async Task ButtonTestForm_Opened(object sender, EventArgs e) { await this.Device.Send("Hello world! (Click 'back' to get back to Start)"); } public override async Task Action(MessageResult message) { var call = message.GetData(); await message.ConfirmAction(); if (call == null) return; message.Handled = true; switch (call.Value) { case "button1": await this.Device.Send("Button 1 pressed"); break; case "button2": await this.Device.Send("Button 2 pressed"); break; case "button3": await this.Device.Send("Button 3 pressed"); break; case "button4": await this.Device.Send("Button 4 pressed"); break; case "back": var st = new Menu(); await this.NavigateTo(st); break; default: message.Handled = false; break; } } public override async Task Render(MessageResult message) { ButtonForm btn = new ButtonForm(); btn.AddButtonRow(new ButtonBase("Button 1", new CallbackData("a", "button1").Serialize()), new ButtonBase("Button 2", new CallbackData("a", "button2").Serialize())); btn.AddButtonRow(new ButtonBase("Button 3", new CallbackData("a", "button3").Serialize()), new ButtonBase("Button 4", new CallbackData("a", "button4").Serialize())); btn.AddButtonRow(new ButtonBase("Google.com", "google", "https://www.google.com"), new ButtonBase("Telegram", "telegram", "https://telegram.org/")); btn.AddButtonRow(new ButtonBase("Back", new CallbackData("a", "back").Serialize())); await this.Device.Send("Click a button", btn); } } }