using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using Telegram.Bot.Types.ReplyMarkups; namespace TelegramBotBase.Form { [DebuggerDisplay("{Text}, {Value}")] /// /// Base class for button handling /// public class ButtonBase { public virtual String Text { get; set; } public String Value { get; set; } public String Url { get; set; } public ButtonBase() { } public ButtonBase(String Text, String Value, String Url = null) { this.Text = Text; this.Value = Value; this.Url = Url; } /// /// Returns an inline Button /// /// /// public virtual InlineKeyboardButton ToInlineButton(ButtonForm form) { String id = (form.DependencyControl != null ? form.DependencyControl.ControlID + "_" : ""); if (this.Url == null) { return InlineKeyboardButton.WithCallbackData(this.Text, id + this.Value); } var ikb = new InlineKeyboardButton(this.Text); //ikb.Text = this.Text; ikb.Url = this.Url; return ikb; } /// /// Returns a KeyBoardButton /// /// /// public virtual KeyboardButton ToKeyboardButton(ButtonForm form) { return new KeyboardButton(this.Text); } } }