InlineKeyboardButton constructor
const
InlineKeyboardButton({
- @JsonKey.new(name: 'text') required String text,
- @JsonKey.new(name: 'url') String? url,
- @JsonKey.new(name: 'login_url') LoginURL? loginUrl,
- @JsonKey.new(name: 'callback_data') String? callbackData,
- @JsonKey.new(name: 'switch_inline_query') String? switchInlineQuery,
- @JsonKey.new(name: 'switch_inline_query_current_chat') String? switchInlineQueryCurrentChat,
- @JsonKey.new(name: 'callback_game') CallbackGame? callbackGame,
- @JsonKey.new(name: 'pay') bool? pay,
- @JsonKey.new(name: 'web_app') WebAppInfo? webApp,
- @JsonKey.new(name: 'switch_inline_query_chosen_chat') SwitchInlineQueryChosenChat? switchInlineQueryChosenChat,
- @JsonKey.new(name: 'copy_text') CopyTextButton? copyText,
- @JsonKey.new(name: 'icon_custom_emoji_id') String? iconCustomEmojiId,
- @JsonKey.new(name: 'style') StyleType? style,
This object represents one button of an inline keyboard.
The inline keyboard consists of a row of buttons, each represented by an InlineKeyboardButton object. You can use the various fields to specify the behavior of the button.
Implementation
const factory InlineKeyboardButton({
/// Label text on the button
@JsonKey(name: 'text') required String text,
/// Optional. HTTP or tg:// url to be opened when button is pressed
@JsonKey(name: 'url') String? url,
/// Optional. An HTTP URL used to automatically authorize the user. Can be
/// used as a replacement for the Telegram Login Widget.
@JsonKey(name: 'login_url') LoginURL? loginUrl,
/// Optional. Data to be sent in a callback query to the bot when button is
/// pressed, 1-64 bytes
@JsonKey(name: 'callback_data') String? callbackData,
/// Optional. If set, pressing the button will prompt the user to select one
/// of their chats, open that chat and insert the bot's username and the
/// specified inline query in the input field. Can be empty, in which case
/// just the bot's username will be inserted.
///
/// Note: This offers an easy way for users to start using your bot in
/// inline mode when they are currently in a private chat with it.
/// Especially useful when combined with switch_pm… actions – in this case
/// the user will be automatically returned to the chat they switched from,
/// skipping the chat selection screen.
@JsonKey(name: 'switch_inline_query') String? switchInlineQuery,
/// Optional. If set, pressing the button will insert the bot's username and
/// the specified inline query in the current chat's input field. Can be
/// empty, in which case only the bot's username will be inserted.
///
/// This offers a quick way for the user to open your bot in inline mode in
/// the same chat – good for selecting something from multiple options.
@JsonKey(name: 'switch_inline_query_current_chat')
String? switchInlineQueryCurrentChat,
/// Optional. Description of the game that will be launched when the user
/// presses the button.
///
/// NOTE: This type of button must always be the first button in the first
/// row.
@JsonKey(name: 'callback_game') CallbackGame? callbackGame,
/// Optional. Specify True, to send a Pay button.
///
/// NOTE: This type of button must always be the first button in the first
/// row.
@JsonKey(name: 'pay') bool? pay,
/// Optional. Description of the Web App that will be launched when the user
/// presses the button. The Web App will be able to send an arbitrary
/// message on behalf of the user using the method answerWebAppQuery.
/// Available only in private chats between a user and the bot.
@JsonKey(name: 'web_app') WebAppInfo? webApp,
/// Optional. If set, pressing the button will prompt the user to select one
/// of their chats of the specified type, open that chat and insert the
/// bot's username and the specified inline query in the input field
///
/// Since Bot API 6.7
@JsonKey(name: 'switch_inline_query_chosen_chat')
SwitchInlineQueryChosenChat? switchInlineQueryChosenChat,
/// Optional. Description of the button that copies the specified text to
/// the clipboard.
///
/// Since Bot API 7.11
@JsonKey(name: 'copy_text') CopyTextButton? copyText,
/// Optional. Unique identifier of the custom emoji shown before the text
/// of the button. Can only be used by bots that purchased additional
/// usernames on Fragment or in the messages directly sent by the bot to
/// private, group and supergroup chats if the owner of the bot has a
/// Telegram Premium subscription.
///
/// Since: Bot API 9.4
@JsonKey(name: 'icon_custom_emoji_id') String? iconCustomEmojiId,
/// Optional. Style of the button. Must be one of “danger” (red), “success”
/// (green) or “primary” (blue). If omitted, then an app-specific style is
/// used.
///
/// Since: Bot API 9.4
@JsonKey(name: 'style') StyleType? style,
}) = _InlineKeyboardButton;