ReplyMarkup.keyboard constructor

const ReplyMarkup.keyboard({
  1. @JsonKey(name: 'keyboard') required List<List<KeyboardButton>> keyboard,
  2. @JsonKey(name: 'resize_keyboard') bool? resizeKeyboard,
  3. @JsonKey(name: 'one_time_keyboard') bool? oneTimeKeyboard,
  4. @JsonKey(name: 'input_field_placeholder') String? inputFieldPlaceholder,
  5. @JsonKey(name: 'selective') bool? selective,
  6. @JsonKey(name: 'is_persistent') bool? isPersistent,
})

This object represents a custom keyboard with reply options (see Introduction to bots for details and examples).

Implementation

const factory ReplyMarkup.keyboard({
  /// Array of button rows, each represented by an Array of [KeyboardButton]
  /// objects
  @JsonKey(name: 'keyboard') required List<List<KeyboardButton>> keyboard,

  /// 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.
  @JsonKey(name: 'resize_keyboard') bool? resizeKeyboard,

  /// 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.
  @JsonKey(name: 'one_time_keyboard') bool? oneTimeKeyboard,

  /// Optional. The placeholder to be shown in the input field when the
  /// keyboard is active; 1-64 characters
  @JsonKey(name: 'input_field_placeholder') String? inputFieldPlaceholder,

  /// 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 [Message.replyToMessage]),
  ///      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.
  @JsonKey(name: 'selective') bool? selective,

  /// Optional. 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.
  @JsonKey(name: 'is_persistent') bool? isPersistent,
}) = ReplyKeyboardMarkup;