Class ReplyKeyboardMarkup

java.lang.Object
io.github.natanimn.telebof.types.keyboard.ReplyKeyboardMarkup
All Implemented Interfaces:
Markup, Serializable

public class ReplyKeyboardMarkup extends Object implements Markup
This object represents a custom keyboard with reply options
Not supported in channels and for messages sent on behalf of a Telegram Business account.
Since:
3 March 2025
See Also:
  • Constructor Details

    • ReplyKeyboardMarkup

      public ReplyKeyboardMarkup()
    • ReplyKeyboardMarkup

      public ReplyKeyboardMarkup(KeyboardButton[][] keyboards)
      Required
      Parameters:
      keyboards - Array of button rows, each represented by an Array of KeyboardButton objects
    • ReplyKeyboardMarkup

      public ReplyKeyboardMarkup(String[][] keyboards)
      Required
      Parameters:
      keyboards - Array of button rows, each represented by an Array of String
  • Method Details

    • setIsPersistent

      public ReplyKeyboardMarkup setIsPersistent(boolean isPersistent)
      Optional
      Parameters:
      isPersistent - Requests clients to always show the keyboard when the regular keyboard is hidden. Defaults to false, in which case the custom keyboard can be hidden and opened with a keyboard icon.
      Returns:
      ReplyKeyboardMarkup
    • setResizeKeyboard

      public ReplyKeyboardMarkup setResizeKeyboard(boolean resizeKeyboard)
      Optional
      Parameters:
      resizeKeyboard - Requests clients to resize the keyboard vertically for optimal fit (e.g., make the keyboard smaller if there are just two rows of buttons). Defaults to false, in which case the custom keyboard is always of the same height as the app's standard keyboard.
      Returns:
      ReplyKeyboardMarkup
    • oneTimeKeyboard

      public ReplyKeyboardMarkup oneTimeKeyboard(boolean oneTimeKeyboard)
      Optional
      Parameters:
      oneTimeKeyboard - Requests clients to hide the keyboard as soon as it's been used. The keyboard will still be available, but clients will automatically display the usual letter-keyboard in the chat - the user can press a special button in the input field to see the custom keyboard again. Defaults to false.
      Returns:
      ReplyKeyboardMarkup
    • setInputFieldPlaceholder

      public ReplyKeyboardMarkup setInputFieldPlaceholder(String inputFieldPlaceholder)
      Optional
      Parameters:
      inputFieldPlaceholder - The placeholder to be shown in the input field when the keyboard is active; 1-64 characters
      Returns:
      ReplyKeyboardMarkup
    • setSelective

      public ReplyKeyboardMarkup setSelective(boolean selective)
      Optional
      Parameters:
      selective - Use this parameter if you want to show the keyboard to specific users only. Targets: 1) users that are @mentioned in the text of the Message object;
      2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.
      Example: A user requests to change the bot's language, bot replies to the request with a keyboard to select the new language. Other users in the group don't see the keyboard.
      Returns:
      ReplyKeyboardMarkup
    • rowWidth

      public void rowWidth(int rowWidth)
      Optional
      Parameters:
      rowWidth - the number of keyboards on a row at max
    • add

      public void add(String... keyboardButton)
    • add

      public void add(KeyboardButton... keyboardButtons)