Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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));
     };
 }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
 public Task EditTextButtonsMenuAsync(CallbackQueryUpdateMessage message, ButtonStructure structure)
 {
     return(SendTextButtonsMenuAsync(message, structure));
 }