# telegram.ReplyKeyboardMarkup

class telegram.ReplyKeyboardMarkup(keyboard, resize_keyboard=False, one_time_keyboard=False, selective=False, input_field_placeholder=None, **_kwargs)

  Bases: `telegram.replymarkup.ReplyMarkup`

  This object represents a custom keyboard with reply options.

  Objects of this class are comparable in terms of equality. Two objects of this class are considered equal, if their the size of `keyboard` and all the buttons are equal.

  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.

  Parameters

    - keyboard (List[List[`str` | `telegram.KeyboardButton`]]) – Array of button rows, each represented by an Array of `telegram.KeyboardButton` objects.

    - resize_keyboard (`bool`, optional) – 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.

    - one_time_keyboard (`bool`, optional) – 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`.

    - selective (`bool`, optional) –

      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 `telegram.Message` object.

      2. If the bot’s message is a reply (has `reply_to_message_id`), sender of the original message.

      Defaults to `False`.

    - input_field_placeholder (`str`, optional) –

      The placeholder to be shown in the input field when the keyboard is active; 1-64 characters.

      New in version 13.7.

    - **kwargs (`dict`) – Arbitrary keyword arguments.

  keyboard

    Array of button rows.

    Type

      List[List[`telegram.KeyboardButton` | `str`]]

  resize_keyboard

    Optional. Requests clients to resize the keyboard.

    Type

      `bool`

  one_time_keyboard

    Optional. Requests clients to hide the keyboard as soon as it’s been used.

    Type

      `bool`

  selective

    Optional. Show the keyboard to specific users only.

    Type

      `bool`

  input_field_placeholder

    Optional. The placeholder shown in the input field when the reply is active.

    New in version 13.7.

    Type

      `str`

  classmethod from_button(button, resize_keyboard=False, one_time_keyboard=False, selective=False, input_field_placeholder=None, **kwargs)

    Shortcut for:

        ReplyKeyboardMarkup([[button]], **kwargs)

    Return a ReplyKeyboardMarkup from a single KeyboardButton.

    Parameters

      - button (`telegram.KeyboardButton` | `str`) – The button to use in the markup.

      - resize_keyboard (`bool`, optional) – 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.

      - one_time_keyboard (`bool`, optional) – 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`.

      - selective (`bool`, optional) –

        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 (has `reply_to_message_id`), sender of the original message.

        Defaults to `False`.

      - input_field_placeholder (`str`) –

        Optional. The placeholder shown in the input field when the reply is active.

        New in version 13.7.

      - **kwargs (`dict`) – Arbitrary keyword arguments.

  classmethod from_column(button_column, resize_keyboard=False, one_time_keyboard=False, selective=False, input_field_placeholder=None, **kwargs)

    Shortcut for:

        ReplyKeyboardMarkup([[button] for button in button_column], **kwargs)

    Return a ReplyKeyboardMarkup from a single column of KeyboardButtons.

    Parameters

      - button_column (List[`telegram.KeyboardButton` | `str`]) – The button to use in the markup.

      - resize_keyboard (`bool`, optional) – 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.

      - one_time_keyboard (`bool`, optional) – 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`.

      - selective (`bool`, optional) –

        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 (has `reply_to_message_id`), sender of the original message.

        Defaults to `False`.

      - input_field_placeholder (`str`) –

        Optional. The placeholder shown in the input field when the reply is active.

        New in version 13.7.

      - **kwargs (`dict`) – Arbitrary keyword arguments.

  classmethod from_row(button_row, resize_keyboard=False, one_time_keyboard=False, selective=False, input_field_placeholder=None, **kwargs)

    Shortcut for:

        ReplyKeyboardMarkup([button_row], **kwargs)

    Return a ReplyKeyboardMarkup from a single row of KeyboardButtons.

    Parameters

      - button_row (List[`telegram.KeyboardButton` | `str`]) – The button to use in the markup.

      - resize_keyboard (`bool`, optional) – 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.

      - one_time_keyboard (`bool`, optional) – 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`.

      - selective (`bool`, optional) –

        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 (has `reply_to_message_id`), sender of the original message.

        Defaults to `False`.

      - input_field_placeholder (`str`) –

        Optional. The placeholder shown in the input field when the reply is active.

        New in version 13.7.

      - **kwargs (`dict`) – Arbitrary keyword arguments.

  to_dict()

    See `telegram.TelegramObject.to_dict()`.