All Downloads are FREE. Search and download functionalities are using the official Maven repository.

telegramium.bots.InlineKeyboardButton.scala Maven / Gradle / Ivy

There is a newer version: 9.711.0
Show newest version
package telegramium.bots

/** This object represents one button of an inline keyboard. Exactly one of the optional fields must be used to specify
  * type of the button.
  *
  * @param text
  *   Label text on the button
  * @param url
  *   Optional. HTTP or tg:// URL to be opened when the button is pressed. Links tg://user?id= can be used to
  *   mention a user by their identifier without using a username, if this is allowed by their privacy settings.
  * @param callbackData
  *   Optional. Data to be sent in a callback query to the bot when the button is pressed, 1-64 bytes
  * @param webApp
  *   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. Not supported for messages sent on behalf of a Telegram Business
  *   account.
  * @param loginUrl
  *   Optional. An HTTPS URL used to automatically authorize the user. Can be used as a replacement for the Telegram
  *   Login Widget.
  * @param switchInlineQuery
  *   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. May be empty, in which case just the bot's
  *   username will be inserted. Not supported for messages sent on behalf of a Telegram Business account.
  * @param switchInlineQueryCurrentChat
  *   Optional. If set, pressing the button will insert the bot's username and the specified inline query in the current
  *   chat's input field. May 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. Not supported in channels and for messages sent on behalf of a Telegram Business account.
  * @param switchInlineQueryChosenChat
  *   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. Not supported for
  *   messages sent on behalf of a Telegram Business account.
  * @param callbackGame
  *   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.
  * @param pay
  *   Optional. Specify True, to send a Pay button. Substrings “⭐” and “XTR” in the buttons's text will be replaced with
  *   a Telegram Star icon. NOTE: This type of button must always be the first button in the first row and can only be
  *   used in invoice messages.
  */
final case class InlineKeyboardButton(
  text: String,
  url: Option[String] = Option.empty,
  callbackData: Option[String] = Option.empty,
  webApp: Option[WebAppInfo] = Option.empty,
  loginUrl: Option[LoginUrl] = Option.empty,
  switchInlineQuery: Option[String] = Option.empty,
  switchInlineQueryCurrentChat: Option[String] = Option.empty,
  switchInlineQueryChosenChat: Option[SwitchInlineQueryChosenChat] = Option.empty,
  callbackGame: Option[CallbackGame.type] = Option.empty,
  pay: Option[Boolean] = Option.empty
)




© 2015 - 2024 Weber Informatics LLC | Privacy Policy