From c5806b6b45b7a7aad95d400c44bbb42319e08992 Mon Sep 17 00:00:00 2001 From: Ruslan Penkrat Date: Fri, 10 Sep 2021 19:19:50 +0300 Subject: [PATCH] API improvements --- .../src/main/java/ru/penkrat/stbf/api/BotCommandChain.java | 6 ++++++ .../penkrat/stbf/common/command/AbstractActionCommand.java | 4 ++++ .../java/ru/penkrat/stbf/common/command/SimpleCommand.java | 2 ++ .../penkrat/stbf/impl/pengrad/PengradKeyboardBuilder.java | 4 +--- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/stbf-api/src/main/java/ru/penkrat/stbf/api/BotCommandChain.java b/stbf-api/src/main/java/ru/penkrat/stbf/api/BotCommandChain.java index c33ecac..ff80485 100644 --- a/stbf-api/src/main/java/ru/penkrat/stbf/api/BotCommandChain.java +++ b/stbf-api/src/main/java/ru/penkrat/stbf/api/BotCommandChain.java @@ -1,6 +1,7 @@ package ru.penkrat.stbf.api; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import lombok.AccessLevel; @@ -36,4 +37,9 @@ public class BotCommandChain implements CommandChain { return this; } + public BotCommandChain addAll(Collection cmds) { + commands.addAll(cmds); + return this; + } + } diff --git a/stbf-common/src/main/java/ru/penkrat/stbf/common/command/AbstractActionCommand.java b/stbf-common/src/main/java/ru/penkrat/stbf/common/command/AbstractActionCommand.java index 478b01e..1afc6e9 100644 --- a/stbf-common/src/main/java/ru/penkrat/stbf/common/command/AbstractActionCommand.java +++ b/stbf-common/src/main/java/ru/penkrat/stbf/common/command/AbstractActionCommand.java @@ -12,6 +12,10 @@ public abstract class AbstractActionCommand implements Command { private RequestMatcher matcher; + public AbstractActionCommand(RequestMatcher matcher) { + this.matcher = matcher; + } + public AbstractActionCommand(Action action) { matcher = RequestMatchers.action(action); } diff --git a/stbf-common/src/main/java/ru/penkrat/stbf/common/command/SimpleCommand.java b/stbf-common/src/main/java/ru/penkrat/stbf/common/command/SimpleCommand.java index 2027510..74147e7 100644 --- a/stbf-common/src/main/java/ru/penkrat/stbf/common/command/SimpleCommand.java +++ b/stbf-common/src/main/java/ru/penkrat/stbf/common/command/SimpleCommand.java @@ -1,5 +1,6 @@ package ru.penkrat.stbf.common.command; +import lombok.RequiredArgsConstructor; import ru.penkrat.stbf.api.Action; import ru.penkrat.stbf.api.BotRequest; import ru.penkrat.stbf.api.BotResponse; @@ -10,6 +11,7 @@ import ru.penkrat.stbf.api.Screen; import ru.penkrat.stbf.common.screen.TextScreen; import ru.penkrat.stbf.tools.RequestMatchers; +@RequiredArgsConstructor public class SimpleCommand implements Command { private final RequestMatcher matcher; diff --git a/stbf-pengrad/src/main/java/ru/penkrat/stbf/impl/pengrad/PengradKeyboardBuilder.java b/stbf-pengrad/src/main/java/ru/penkrat/stbf/impl/pengrad/PengradKeyboardBuilder.java index c6a69aa..549b646 100644 --- a/stbf-pengrad/src/main/java/ru/penkrat/stbf/impl/pengrad/PengradKeyboardBuilder.java +++ b/stbf-pengrad/src/main/java/ru/penkrat/stbf/impl/pengrad/PengradKeyboardBuilder.java @@ -24,9 +24,7 @@ public class PengradKeyboardBuilder implements KeyboardBuilder { return new KeyboardImpl(keyboard, null); } if (inlineKeyboard != null) { - InlineKeyboardButton[][] smallerArray = new InlineKeyboardButton[inlineKeyboard.length - 1][]; - System.arraycopy(inlineKeyboard, 0, smallerArray, 0, inlineKeyboard.length - 1); - return new KeyboardImpl(null, smallerArray); + return new KeyboardImpl(null, inlineKeyboard); } return new NoKeyboard(); }