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

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

package telegramium.bots

/** This object represents one button of the reply keyboard. At most one of the optional fields must be used to specify
  * type of the button. For simple text buttons, String can be used instead of this object to specify the button text.
  *
  * @param text
  *   Text of the button. If none of the optional fields are used, it will be sent as a message when the button is
  *   pressed
  * @param requestUsers
  *   Optional. If specified, pressing the button will open a list of suitable users. Identifiers of selected users will
  *   be sent to the bot in a “users_shared” service message. Available in private chats only.
  * @param requestChat
  *   Optional. If specified, pressing the button will open a list of suitable chats. Tapping on a chat will send its
  *   identifier to the bot in a “chat_shared” service message. Available in private chats only.
  * @param requestContact
  *   Optional. If True, the user's phone number will be sent as a contact when the button is pressed. Available in
  *   private chats only.
  * @param requestLocation
  *   Optional. If True, the user's current location will be sent when the button is pressed. Available in private chats
  *   only.
  * @param requestPoll
  *   Optional. If specified, the user will be asked to create a poll and send it to the bot when the button is pressed.
  *   Available in private chats only.
  * @param webApp
  *   Optional. If specified, the described Web App will be launched when the button is pressed. The Web App will be
  *   able to send a “web_app_data” service message. Available in private chats only.
  */
final case class KeyboardButton(
  text: String,
  requestUsers: Option[KeyboardButtonRequestUsers] = Option.empty,
  requestChat: Option[KeyboardButtonRequestChat] = Option.empty,
  requestContact: Option[Boolean] = Option.empty,
  requestLocation: Option[Boolean] = Option.empty,
  requestPoll: Option[KeyboardButtonPollType] = Option.empty,
  webApp: Option[WebAppInfo] = Option.empty
)




© 2015 - 2024 Weber Informatics LLC | Privacy Policy