public Task SendTextButtonsMenuAsync(UpdateMessage message, ButtonStructure structure) { var menuBuilder = new InlineKeyboardButtonMenuBuilder(_localizer); var replyMarkup = menuBuilder.AddButtonCodePerLine(structure.MenuButtons, message.LanguageCode, 1).Build(); PrintOutReplyMarkup(message.LanguageCode, structure.TopButtonCode, replyMarkup); return(Task.CompletedTask); }
public ButtonNode(ButtonStructure structure, RectangleRenderElementStyle style, TextRenderElementStyle text_style) { Structure = structure; BorderStyle = style; TextStyle = text_style; BorderElement = new RectangleRenderElement(Position, Width, Height, style.FillColor, style.BorderColor, style.BorderWidth); TextElement = new TextRenderElement(Position, Text, TextColor, TextStyle.FontSize, TextStyle.FontStyle); TriggerAreas.Add(new RectangleHitbox(Position, Width, Height)); ButtonAction = Structure.ButtonAction; OnMouseClick += (object sender, EventArgs e) => { ButtonAction.Invoke(); OnUnfocused?.Invoke(this, new NodeEventArgs(this)); }; }
public async Task SendTextButtonsMenuAsync(UpdateMessage message, ButtonStructure structure) { var langCode = message.LanguageCode; var menuBuilder = new InlineKeyboardButtonMenuBuilder(_localizer); var answerMessage = await TelegramBot.SendTextMessageAsync( message.ChatId, _localizer.GetButtonText(langCode, structure.TopButtonCode), replyMarkup : null); var expectedAnswerId = answerMessage.MessageId; var replyMarkup = menuBuilder.AddButtonCodePerLine(structure.MenuButtons, langCode, expectedAnswerId).Build(); await TelegramBot.EditMessageTextAsync( message.ChatId, expectedAnswerId, _localizer.GetButtonText(langCode, structure.TopButtonCode), replyMarkup : replyMarkup); }
public async Task EditTextButtonsMenuAsync(CallbackQueryUpdateMessage message, ButtonStructure structure) { var langCode = message.LanguageCode; var menuBuilder = new InlineKeyboardButtonMenuBuilder(_localizer); var replyMarkup = menuBuilder .AddButtonCodePerLine(structure.MenuButtons, langCode, message.MenuMessageId) .AddBackButton(structure.PreviousButtonCode, message.MenuMessageId) .Build(); await TelegramBot.EditMessageTextAsync( message.ChatId, message.MenuMessageId, _localizer.GetButtonText(langCode, structure.TopButtonCode), replyMarkup : replyMarkup); }
public Task EditTextButtonsMenuAsync(CallbackQueryUpdateMessage message, ButtonStructure structure) { return(SendTextButtonsMenuAsync(message, structure)); }