Packages

p

canoe

models

package models

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Package Members

  1. package messages
  2. package outgoing
  3. package passport

Type Members

  1. final case class Animation(fileId: String, fileUniqueId: String, width: Int, height: Int, duration: Int, thumb: Option[PhotoSize], fileName: Option[String], mimeType: Option[String], fileSize: Option[Int]) extends Product with Serializable

    Represents an animation file (GIF or H.264/MPEG-4 AVC video without sound).

    Represents an animation file (GIF or H.264/MPEG-4 AVC video without sound).

    fileId

    Unique identifier for this file

    fileUniqueId

    Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.

    width

    Video width as defined by sender

    height

    Video height as defined by sender

    duration

    Duration of the video in seconds as defined by sender

    thumb

    Animation thumbnail as defined by s ender

    fileName

    Original animation filename as defined by sender

    mimeType

    Mime type of a file as defined by sender

    fileSize

    File size

  2. final case class Audio(fileId: String, fileUniqueId: String, duration: Int, performer: Option[String], title: Option[String], mimeType: Option[String], fileSize: Option[Int], thumb: Option[PhotoSize]) extends Product with Serializable

    Represents an audio file to be treated as music by the Telegram clients.

    Represents an audio file to be treated as music by the Telegram clients.

    fileId

    Unique identifier

    fileUniqueId

    Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.

    duration

    Duration of the audio in seconds as defined by sender

    performer

    Performer of the audio as defined by sender or by audio tags

    title

    Title of the audio as defined by sender or by audio tags

    mimeType

    MIME type of the file as defined by sender

    fileSize

    File size

    thumb

    Thumbnail of the album cover to which the music file belongs

  3. final case class CallbackButtonSelected(updateId: Long, callbackQuery: CallbackQuery) extends Update with Product with Serializable

    New incoming callback query.

  4. sealed trait CallbackGame extends AnyRef

    A placeholder, currently holds no information.

  5. final case class CallbackQuery(id: String, from: User, message: Option[TelegramMessage], inlineMessageId: Option[String], chatInstance: String, data: Option[String], gameShortName: Option[String]) extends Product with Serializable

    Represents an incoming callback query from a callback button in an inline keyboard.

    Represents an incoming callback query from a callback button in an inline keyboard.

    If the button that originated the query was attached to a message sent by the bot, the field message will be presented. If the button was attached to a message sent via the bot (in inline mode), the field inline_message_id will be presented.

    Note: After the user presses an inline button, Telegram clients will display a progress bar until you call answerCallbackQuery. It is, therefore, necessary to react by calling answerCallbackQuery even if no notification to the user is needed (e.g., without specifying any of the optional parameters).

    id

    Unique identifier for this query

    from

    Sender

    message

    Message with the callback button that originated the query. Note that message content and message date will not be available if the message is too old

    inlineMessageId

    Identifier of the message sent via the bot in inline mode, that originated the query

    chatInstance

    Identifier, uniquely corresponding to the chat to which the message with the callback button was sent. Useful for high scores in games.

    data

    Data associated with the callback button. Be aware that a bad client can send arbitrary data in this field.

    gameShortName

    Short name of a Game to be returned, serves as the unique identifier for the game

  6. final case class Channel(id: Long, title: Option[String], username: Option[String]) extends Chat with Product with Serializable
  7. final case class ChannelPost(updateId: Long, channelPost: TelegramMessage) extends Update with Product with Serializable

    New incoming channel post of any kind — text, photo, sticker, etc.

  8. final case class ChannelPostEdited(updateId: Long, editedChannelPost: TelegramMessage) extends Update with Product with Serializable

    New version of a channel post that is known to the bot and was edited.

  9. sealed trait Chat extends AnyRef
  10. final case class ChatAdministrator(user: User, customTitle: Option[String], canBeEdited: Option[Boolean], canChangeInfo: Option[Boolean], canPostMessages: Option[Boolean], canEditMessages: Option[Boolean], canDeleteMessages: Option[Boolean], canRestrictMembers: Option[Boolean], canPromoteMembers: Option[Boolean], canInviteUsers: Option[Boolean], canPinMessages: Option[Boolean]) extends ChatMember with Product with Serializable
  11. final case class ChatCreator(user: User) extends ChatMember with Product with Serializable
  12. sealed trait ChatId extends AnyRef

    Represents the id of a chat.

    Represents the id of a chat. This may be the numeric id or channel username in the format @channelusername.

  13. sealed trait ChatMember extends AnyRef
  14. final case class ChatMigration(migrateToChatId: Long) extends ResponseParameters with Product with Serializable

    The group has been migrated to a supergroup with the specified identifier.

  15. final case class ChatPermissions(canSendMessages: Option[Boolean] = None, canSendMediaMessages: Option[Boolean] = None, canSendPolls: Option[Boolean] = None, canSendOtherMessages: Option[Boolean] = None, canAddWebPagePreviews: Option[Boolean] = None, canChangeInfo: Option[Boolean] = None, canInviteUsers: Option[Boolean] = None, canPinMessages: Option[Boolean] = None) extends Product with Serializable

    Describes actions that a non-administrator user is allowed to take in a chat.

    Describes actions that a non-administrator user is allowed to take in a chat.

    Unspecified parameters will be disabled, unless they are needed for enabling allowed actions. Example: specified canSendPolls will also enable canSendMessages option.

  16. final case class ChatPhoto(smallFileId: String, smallFileUniqueId: String, bigFileId: String, bigFileUniqueId: String) extends Product with Serializable

    smallFileId

    Unique file identifier of small (160x160) chat photo. It can be used only for photo download.

    smallFileUniqueId

    Unique file identifier of small (160x160) chat photo, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.

    bigFileId

    Unique file identifier of big (640x640) chat photo. It can be used only for photo download.

    bigFileUniqueId

    Unique file identifier of big (640x640) chat photo, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.

  17. final case class ChosenInlineResult(resultId: String, from: User, location: Option[Location], inlineMessageId: Option[String], query: String) extends Product with Serializable

    Result of an inline query that was chosen by the user and sent to their chat partner.

    Result of an inline query that was chosen by the user and sent to their chat partner.

    resultId

    The unique identifier for the result that was chosen.

    from

    The user that chose the result.

    location

    Sender location, only for bots that require user location

    inlineMessageId

    Identifier of the sent inline message. Available only if there is an inline keyboard attached to the message. Will be also received in callback queries and can be used to edit the message.

    query

    The query that was used to obtain the result

  18. final case class Contact(phoneNumber: String, firstName: String, lastName: Option[String], userId: Option[Int], vcard: Option[String]) extends Product with Serializable

    Represents a phone contact.

    Represents a phone contact.

    phoneNumber

    Contact's phone number

    firstName

    Contact's first name

    lastName

    Contact's last name

    userId

    Contact's user identifier in Telegram

    vcard

    Additional data about the contact in the form of a vCard

  19. final case class DetailedChat(id: Long, type: ChatType, title: Option[String], username: Option[String], firstName: Option[String], lastName: Option[String], permissions: Option[ChatPermissions], photo: Option[ChatPhoto], description: Option[String], inviteLink: Option[String], pinnedMessage: Option[TelegramMessage], slowModeDelay: Option[Int], stickerSetName: Option[String], canSetStickerSet: Option[Boolean]) extends Product with Serializable
  20. final case class Document(fileId: String, fileUniqueId: String, thumb: Option[PhotoSize], fileName: Option[String], mimeType: Option[String], fileSize: Option[Int]) extends Product with Serializable

    Represents a general file (as opposed to photos, voice messages and audio files).

    Represents a general file (as opposed to photos, voice messages and audio files).

    fileId

    Unique identifier

    fileUniqueId

    Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.

    thumb

    Document thumbnail as defined by sender

    fileName

    Original filename as defined by sender

    mimeType

    MIME type of the file as defined by sender

    fileSize

    File size

  21. final case class ExceededFloodControl(retryAfter: Int) extends ResponseParameters with Product with Serializable

    Flood control was exceeded.

    Flood control was exceeded.

    retryAfter

    The number of seconds left to wait before the request can be repeated

  22. final case class File(fileId: String, fileUniqueId: String, fileSize: Option[Int], filePath: Option[String]) extends Product with Serializable

    Represents a file ready to be downloaded.

    Represents a file ready to be downloaded.

    The file can be downloaded via the link https://api.telegram.org/file/bot<token>/<file_path>.

    It is guaranteed that the link will be valid for at least 1 hour. When the link expires, a new one can be requested by using canoe.methods.files.GetFile. Maximum file size to download is 20 MB

    fileId

    Unique identifier for this file

    fileUniqueId

    Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.

    fileSize

    File size, if known

    filePath

    File path. Use https://api.telegram.org/file/bot<token>/<file_path> to get the file.

  23. final case class ForceReply(forceReply: Boolean = true, selective: Option[Boolean] = None) extends ReplyMarkup with Product with Serializable

    Upon receiving a message with this object, Telegram clients will display a reply interface to the user (act as if the user has selected the bot's message and tapped 'Reply').

    Upon receiving a message with this object, Telegram clients will display a reply interface to the user (act as if the user has selected the bot's message and tapped 'Reply'). This can be extremely useful if you want to create user-friendly step-by-step interfaces without having to sacrifice privacy mode.

    Example: A poll bot for groups runs in privacy mode (only receives commands, replies to its messages and mentions). There could be two ways to create a new poll: Explain the user how to send a command with parameters (e.g. /newpoll question answer1 answer2). May be appealing for hardcore users but lacks modern day polish. Guide the user through a step-by-step process. 'Please send me your question', 'Cool, now let's add the first answer option', 'Great. Keep adding answer options, then send /done when you're ready'.

    The last option is definitely more attractive. And if you use ForceReply in your bot's questions, it will receive the user's answers even if it only receives replies, commands and mentions - without any extra work for the user.

    forceReply

    Shows reply interface to the user, as if they manually selected the bot's message and tapped 'Reply'

    selective

    Use this parameter if you want to force reply from 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 replyToMessage_id), sender of the original message.

  24. final case class Game(title: String, description: String, photo: List[PhotoSize], text: Option[String], textEntities: Option[List[MessageEntity]], animation: Option[Animation]) extends Product with Serializable

    Represents a Telegram game.

    Represents a Telegram game. Use BotFather to create and edit games, their short names will act as unique identifiers.

    title

    Title of the game

    description

    Description of the game

    photo

    Photo that will be displayed in the game message in chats.

    text

    Brief description of the game or high scores included in the game message. Can be automatically edited to include current high scores for the game when the bot calls setGameScore, or manually edited using editMessageText. 0-4096 characters.

    textEntities

    Special entities that appear in text, such as usernames, URLs, bot commands, etc.

    animation

    Animation that will be displayed in the game message in chats. Can be uploaded via BotFather

  25. final case class GameHighScore(position: Long, user: User, score: Long) extends Product with Serializable

    One row of the high scores table for a game.

    One row of the high scores table for a game.

    position

    Position in high score table for the game

  26. final case class Group(id: Long, title: Option[String]) extends Chat with Product with Serializable
  27. final class InlineKeyboardButton extends AnyRef

    Button of an inline keyboard.

    Button of an inline keyboard. You must use exactly one of the optional fields.

    Notes: 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. This will only work in Telegram versions released after 9 April, 2016. Older clients will display unsupported message.

    NOTE: This type of button must always be the first button in the first row.

  28. final case class InlineKeyboardMarkup(inlineKeyboard: Seq[Seq[InlineKeyboardButton]]) extends ReplyMarkup with Product with Serializable

    Represents an inline keyboard that appears right next to the message it belongs to.

    Represents an inline keyboard that appears right next to the message it belongs to.

    Warning: Inline keyboards are currently being tested and are only available in one-on-one chats (i.e., user-bot or user-user in the case of inline bots).

    Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will display unsupported message.

    Warning: Inline keyboards are currently being tested and are not available in channels yet. For now, feel free to use them in one-on-one chats or groups.

    inlineKeyboard

    Sequence of button rows, each represented by a sequence of InlineKeyboardButton objects

  29. final case class InlineQuery(id: String, from: User, location: Option[Location], query: String, offset: String) extends Product with Serializable

    Incoming inline query.

    Incoming inline query.

    When the user sends an empty query, your bot could return some default or trending results.

    id

    Unique identifier for this query

    from

    Sender

    location

    Sender location, only for bots that request user location

    query

    Text of the query

    offset

    Offset of the results to be returned, can be controlled by the bot

  30. final case class InlineQueryReceived(updateId: Long, inlineQuery: InlineQuery) extends Update with Product with Serializable

    New incoming inline query.

  31. sealed trait InlineQueryResult extends AnyRef

    This object represents one result of an inline query.

    This object represents one result of an inline query. Telegram clients currently support results of the following 19 types:

    InlineQueryResultCachedAudio InlineQueryResultCachedDocument InlineQueryResultCachedGif InlineQueryResultCachedMpeg4Gif InlineQueryResultCachedPhoto InlineQueryResultCachedSticker InlineQueryResultCachedVideo InlineQueryResultCachedVoice InlineQueryResultArticle InlineQueryResultAudio InlineQueryResultContact InlineQueryResultDocument InlineQueryResultGif InlineQueryResultLocation InlineQueryResultMpeg4Gif InlineQueryResultPhoto InlineQueryResultVenue InlineQueryResultVideo InlineQueryResultVoice

  32. final case class InlineQueryResultArticle(id: String, title: String, inputMessageContent: InlineQueryResultContent, replyMarkup: Option[InlineKeyboardMarkup] = None, url: Option[String] = None, hideUrl: Option[Boolean] = None, description: Option[String] = None, thumbUrl: Option[String] = None, thumbWidth: Option[Int] = None, thumbHeight: Option[Int] = None, type: String = "article") extends InlineQueryResult with Product with Serializable

    Link to an article or web page.

    Link to an article or web page.

    id

    Unique identifier for this result, 1-64 Bytes

    title

    Title of the result

    inputMessageContent

    Content of the message to be sent

    replyMarkup

    Inline keyboard attached to the message

    url

    URL of the result

    hideUrl

    Pass True, if you don't want the URL to be shown in the message

    description

    Short description of the result

    thumbUrl

    Url of the thumbnail for the result

    thumbWidth

    Thumbnail width

    thumbHeight

    Thumbnail height

    type

    Type of the result, must be article

  33. final case class InlineQueryResultAudio(id: String, audioUrl: String, title: String, caption: Option[String] = None, parseMode: Option[ParseMode] = None, performer: Option[String] = None, audioDuration: Option[Int] = None, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, type: String = "audio") extends InlineQueryResult with Product with Serializable

    Link to an mp3 audio file.

    Link to an mp3 audio file. By default, this audio file will be sent by the user.

    Alternatively, you can use input_message_content to send a message with the specified content instead of the audio.

    id

    Unique identifier for this result, 1-64 bytes

    audioUrl

    A valid URL for the audio file

    title

    Title

    caption

    Caption, 0-200 characters

    parseMode

    Parse mode of captured text (Markdown or HTML)

    performer

    Performer

    audioDuration

    Audio duration in seconds

    replyMarkup

    Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the audio

    type

    Type of the result, must be audio

  34. final case class InlineQueryResultCachedAudio(id: String, audioFileId: String, caption: Option[String] = None, parseMode: Option[ParseMode] = None, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, type: String = "audio") extends InlineQueryResult with Product with Serializable

    Link to an mp3 audio file stored on the Telegram servers.

    Link to an mp3 audio file stored on the Telegram servers.

    By default, this audio file will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the audio.

    Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    id

    Unique identifier for this result, 1-64 bytes

    audioFileId

    A valid file identifier for the audio file

    caption

    Caption, 0-200 characters

    parseMode

    Parse mode of captured text (Markdown or HTML)

    replyMarkup

    An Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the audio

    type

    Type of the result, must be audio

  35. final case class InlineQueryResultCachedDocument(id: String, title: String, documentFileId: String, description: Option[String] = None, caption: Option[String] = None, parseMode: Option[ParseMode] = None, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, type: String = "document") extends InlineQueryResult with Product with Serializable

    Link to a file stored on the Telegram servers.

    Link to a file stored on the Telegram servers.

    By default, this file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the file. Currently, only pdf-files and zip archives can be sent using this method.

    Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    id

    Unique identifier for this result, 1-64 bytes

    title

    Title for the result

    documentFileId

    A valid file identifier for the file

    description

    Short description of the result

    caption

    Caption of the document to be sent, 0-200 characters

    parseMode

    Parse mode of captured text (Markdown or HTML)

    replyMarkup

    An Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the file

    type

    Type of the result, must be document

  36. final case class InlineQueryResultCachedGif(id: String, gifFileId: String, title: Option[String] = None, caption: Option[String] = None, parseMode: Option[ParseMode] = None, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, type: String = "gif") extends InlineQueryResult with Product with Serializable

    Link to an animated GIF file stored on the Telegram servers.

    Link to an animated GIF file stored on the Telegram servers.

    By default, this animated GIF file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with specified content instead of the animation.

    id

    String Unique identifier for this result, 1-64 bytes

    gifFileId

    A valid file identifier for the GIF file

    title

    Title for the result

    caption

    Caption of the GIF file to be sent, 0-200 characters

    parseMode

    Parse mode of captured text (Markdown or HTML)

    replyMarkup

    An Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the GIF animation

    type

    Type of the result, must be gif

  37. final case class InlineQueryResultCachedMpeg4Gif(id: String, mpeg4FileId: String, title: Option[String] = None, caption: Option[String] = None, parseMode: Option[ParseMode] = None, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, type: String = "mpeg4_gif") extends InlineQueryResult with Product with Serializable

    Link to a video animation (H.264/MPEG-4 AVC video without sound) stored on the Telegram servers.

    Link to a video animation (H.264/MPEG-4 AVC video without sound) stored on the Telegram servers.

    By default, this animated MPEG-4 file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the animation.

    id

    Unique identifier for this result, 1-64 bytes

    mpeg4FileId

    A valid file identifier for the MP4 file

    title

    Title for the result

    caption

    Caption of the MPEG-4 file to be sent, 0-200 characters

    parseMode

    Parse mode of captured text (Markdown or HTML)

    replyMarkup

    An Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the video animation

    type

    Type of the result, must be mpeg4_gif

  38. final case class InlineQueryResultCachedPhoto(id: String, photoFileId: String, title: Option[String] = None, description: Option[String] = None, caption: Option[String] = None, parseMode: Option[ParseMode] = None, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, type: String = "photo") extends InlineQueryResult with Product with Serializable

    Link to a photo stored on the Telegram servers.

    Link to a photo stored on the Telegram servers.

    By default, this photo will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the photo.

    id

    Unique identifier for this result, 1-64 bytes

    photoFileId

    A valid file identifier of the photo

    title

    Title for the result

    description

    Short description of the result

    caption

    Caption of the photo to be sent, 0-200 characters

    parseMode

    Parse mode of captured text (Markdown or HTML)

    replyMarkup

    Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the photo

    type

    Type of the result, must be photo

  39. final case class InlineQueryResultCachedSticker(id: String, stickerFileId: String, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, type: String = "sticker") extends InlineQueryResult with Product with Serializable

    Link to a sticker stored on the Telegram servers.

    Link to a sticker stored on the Telegram servers.

    By default, this sticker will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the sticker.

    Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    id

    Unique identifier for this result, 1-64 bytes

    stickerFileId

    A valid file identifier of the sticker

    replyMarkup

    An Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the sticker

    type

    Type of the result, must be sticker

  40. final case class InlineQueryResultCachedVideo(id: String, videoFileId: String, title: String, description: Option[String] = None, caption: Option[String] = None, parseMode: Option[ParseMode] = None, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, type: String = "video") extends InlineQueryResult with Product with Serializable

    Link to a video file stored on the Telegram servers.

    Link to a video file stored on the Telegram servers.

    By default, this video file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the video.

    id

    Unique identifier for this result, 1-64 bytes

    videoFileId

    A valid file identifier for the video file

    title

    Title for the result

    description

    Short description of the result

    caption

    Caption of the video to be sent, 0-200 characters

    parseMode

    Parse mode of captured text (Markdown or HTML)

    replyMarkup

    An Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the video

    type

    Type of the result, must be video

  41. final case class InlineQueryResultCachedVoice(id: String, voiceFileId: String, title: String, caption: Option[String] = None, parseMode: Option[ParseMode] = None, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, type: String = "voice") extends InlineQueryResult with Product with Serializable

    Link to a voice message stored on the Telegram servers.

    Link to a voice message stored on the Telegram servers.

    By default, this voice message will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the voice message.

    Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    id

    Unique identifier for this result, 1-64 bytes

    voiceFileId

    A valid file identifier for the voice message

    title

    Voice message title

    caption

    Caption, 0-200 characters

    parseMode

    Parse mode of captured text (Markdown or HTML)

    replyMarkup

    An Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the voice message

    type

    Type of the result, must be voice

  42. final case class InlineQueryResultContact(id: String, phoneNumber: String, firstName: String, lastName: Option[String] = None, vcard: Option[String] = None, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, thumbUrl: Option[String] = None, thumbWidth: Option[Int] = None, thumbHeight: Option[Int] = None, type: String = "contact") extends InlineQueryResult with Product with Serializable

    Contact with a phone number.

    Contact with a phone number.

    By default, this contact will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the contact.

    Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    id

    Unique identifier for this result, 1-64 Bytes

    phoneNumber

    Contact's phone number

    firstName

    Contact's first name

    lastName

    Contact's last name

    vcard

    Additional data about the contact in the form of a vCard, 0-2048 bytes

    replyMarkup

    Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the contact

    thumbUrl

    Url of the thumbnail for the result

    thumbWidth

    Thumbnail width

    thumbHeight

    Thumbnail height

    type

    Type of the result, must be contact

  43. final case class InlineQueryResultContactContent(phoneNumber: String, firstName: String, lastName: Option[String] = None, vcard: Option[String] = None) extends InlineQueryResultContent with Product with Serializable

    Content of a contact message to be sent as the result of an inline query.

    Content of a contact message to be sent as the result of an inline query.

    Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    phoneNumber

    Contact's phone number

    firstName

    Contact's first name

    lastName

    Contact's last name

    vcard

    Additional data about the contact in the form of a vCard, 0-2048 bytes

  44. sealed trait InlineQueryResultContent extends AnyRef

    Content of a message to be sent as a result of an inline query.

  45. final case class InlineQueryResultDocument(id: String, title: String, caption: Option[String] = None, parseMode: Option[ParseMode] = None, documentUrl: Option[String] = None, mimeType: String, description: Option[String] = None, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, thumbUrl: Option[String] = None, thumbWidth: Option[Int] = None, thumbHeight: Option[Int] = None, type: String = "document") extends InlineQueryResult with Product with Serializable

    Link to a file.

    Link to a file.

    By default, this file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the file. Currently, only .PDF and .ZIP files can be sent using this method.

    id

    Unique identifier for this result, 1-64 bytes

    title

    Title for the result

    caption

    Caption of the document to be sent, 0-200 characters

    parseMode

    Parse mode of captured text (Markdown or HTML)

    documentUrl

    A valid URL for the file

    mimeType

    Mime type of the content of the file, either "application/pdf" or "application/zip"

    description

    Short description of the result

    replyMarkup

    Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the file

    thumbUrl

    URL of the thumbnail (jpeg only) for the file

    thumbWidth

    Thumbnail width

    thumbHeight

    Thumbnail height

    type

    Type of the result, must be document

  46. final case class InlineQueryResultGame(id: String, gameShortName: String, replyMarkup: Option[InlineKeyboardMarkup] = None, type: String = "game") extends InlineQueryResult with Product with Serializable

    Game.

    Game.

    Note: This will only work in Telegram versions released after October 1, 2016. Older clients will not display any inline results if a game result is among them.

    id

    Unique identifier for this result, 1-64 bytes

    gameShortName

    Short name of the game

    replyMarkup

    Inline keyboard attached to the message

    type

    Type of the result, must be game

  47. final case class InlineQueryResultGif(id: String, gifUrl: String, gifWidth: Option[Int] = None, gifHeight: Option[Int] = None, gifDuration: Option[Int] = None, thumbUrl: String, title: Option[String] = None, caption: Option[String] = None, parseMode: Option[ParseMode] = None, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, type: String = "gif") extends InlineQueryResult with Product with Serializable

    Link to an animated GIF file.

    Link to an animated GIF file.

    By default, this animated GIF file will be sent by the user with optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the animation.

    id

    Unique identifier for this result, 1-64 bytes

    gifUrl

    A valid URL for the GIF file. File size must not exceed 1MB

    gifWidth

    Width of the GIF

    gifHeight

    Height of the GIF

    gifDuration

    Duration of the GIF

    thumbUrl

    URL of the static thumbnail for the result (jpeg or gif)

    title

    Title for the result

    caption

    Caption of the GIF file to be sent, 0-200 characters

    parseMode

    Parse mode of captured text (Markdown or HTML)

    replyMarkup

    Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the GIF animation

    type

    Type of the result, must be gif

  48. final case class InlineQueryResultLocation(id: String, latitude: Double, longitude: Double, title: String, livePeriod: Option[Int] = None, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, thumbUrl: Option[String] = None, thumbWidth: Option[Int] = None, thumbHeight: Option[Int] = None, type: String = "location") extends InlineQueryResult with Product with Serializable

    Location on a map.

    Location on a map.

    By default, the location will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the location.

    Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    id

    Unique identifier for this result, 1-64 Bytes

    latitude

    Location latitude in degrees

    longitude

    Location longitude in degrees

    title

    Location title

    livePeriod

    Period in seconds for which the location can be updated, should be between 60 and 86400.

    replyMarkup

    Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the location

    thumbUrl

    Url of the thumbnail for the result

    thumbWidth

    Thumbnail width

    thumbHeight

    Thumbnail height

    type

    Type of the result, must be location

  49. final case class InlineQueryResultLocationContent(latitude: Double, longitude: Double) extends InlineQueryResultContent with Product with Serializable

    Content of a location message to be sent as the result of an inline query.

    Content of a location message to be sent as the result of an inline query.

    Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    latitude

    Latitude of the location in degrees

    longitude

    Longitude of the location in degrees

  50. final case class InlineQueryResultMpeg4Gif(id: String, mpeg4Url: String, mpeg4Width: Option[Int] = None, mpeg4Height: Option[Int] = None, mpeg4Duration: Option[Int] = None, thumbUrl: String, title: Option[String] = None, caption: Option[String] = None, parseMode: Option[ParseMode] = None, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, type: String = "mpeg4_gif") extends InlineQueryResult with Product with Serializable

    Link to a video animation (H.264/MPEG-4 AVC video without sound).

    Link to a video animation (H.264/MPEG-4 AVC video without sound).

    By default, this animated MPEG-4 file will be sent by the user with optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the animation.

    id

    Unique identifier for this result, 1-64 bytes

    mpeg4Url

    A valid URL for the MP4 file. File size must not exceed 1MB

    mpeg4Width

    Video width

    mpeg4Height

    Video height

    mpeg4Duration

    Video duration

    thumbUrl

    URL of the static thumbnail (jpeg or gif) for the result

    title

    Title for the result

    caption

    Caption of the MPEG-4 file to be sent, 0-200 characters

    parseMode

    Parse mode of captured text (Markdown or HTML)

    replyMarkup

    Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the video animation

    type

    Type of the result, must be mpeg4_gif

  51. final case class InlineQueryResultPhoto(id: String, photoUrl: String, thumbUrl: String, photoWidth: Option[Int] = None, photoHeight: Option[Int] = None, title: Option[String] = None, description: Option[String] = None, caption: Option[String] = None, parseMode: Option[ParseMode] = None, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, type: String = "photo") extends InlineQueryResult with Product with Serializable

    Link to a photo.

    Link to a photo.

    By default, this photo will be sent by the user with optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the photo.

    id

    Unique identifier for this result, 1-64 bytes

    photoUrl

    A valid URL of the photo. Photo must be in jpeg format. Photo size must not exceed 5MB

    thumbUrl

    URL of the thumbnail for the photo

    photoWidth

    Width of the photo

    photoHeight

    Height of the photo

    title

    Title for the result

    description

    Short description of the result

    caption

    Caption of the photo to be sent, 0-200 characters

    parseMode

    Parse mode of captured text (Markdown or HTML)

    replyMarkup

    Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the photo

    type

    Type of the result, must be photo

  52. final case class InlineQueryResultTextContent(messageText: String, parseMode: Option[ParseMode] = None, disableWebPagePreview: Option[Boolean] = None) extends InlineQueryResultContent with Product with Serializable

    Content of a text message to be sent as the result of an inline query.

    Content of a text message to be sent as the result of an inline query.

    messageText

    Text of the message to be sent, 1-4096 characters

    parseMode

    Parse mode of captured text (Markdown or HTML)

    disableWebPagePreview

    Disables link previews for links in the sent message

  53. final case class InlineQueryResultVenue(id: String, latitude: Double, longitude: Double, title: String, address: String, foursquareId: Option[String] = None, foursquareType: Option[String] = None, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, thumbUrl: Option[String] = None, thumbWidth: Option[Int] = None, thumbHeight: Option[Int] = None, type: String = "venue") extends InlineQueryResult with Product with Serializable

    Venue.

    Venue.

    By default, the venue will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the venue.

    Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    id

    Unique identifier for this result, 1-64 Bytes

    latitude

    Latitude of the venue location in degrees

    longitude

    Longitude of the venue location in degrees

    title

    Title of the venue

    address

    Address of the venue

    foursquareId

    Foursquare identifier of the venue if known

    foursquareType

    Foursquare type of the venue, if known. For example, “arts_entertainment/default”, “arts_entertainment/aquarium” or “food/icecream”.

    replyMarkup

    Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the venue

    thumbUrl

    Url of the thumbnail for the result

    thumbWidth

    Thumbnail width

    thumbHeight

    Thumbnail height

    type

    Type of the result, must be venue

  54. final case class InlineQueryResultVenueContent(latitude: Double, longitude: Double, title: String, address: String, foursquareId: Option[String] = None, foursquareType: Option[String] = None) extends InlineQueryResultContent with Product with Serializable

    Content of a venue message to be sent as the result of an inline query.

    Content of a venue message to be sent as the result of an inline query.

    Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    latitude

    Latitude of the venue in degrees

    longitude

    Longitude of the venue in degrees

    title

    Name of the venue

    address

    Address of the venue

    foursquareId

    Foursquare identifier of the venue, if known

    foursquareType

    Foursquare type of the venue, if known. For example, “arts_entertainment/default”, “arts_entertainment/aquarium” or “food/icecream”.

  55. final case class InlineQueryResultVideo(id: String, videoUrl: String, mimeType: String, thumbUrl: String, title: Option[String] = None, caption: Option[String] = None, parseMode: Option[ParseMode] = None, videoWidth: Option[Int] = None, videoHeight: Option[Int] = None, videoDuration: Option[Int] = None, description: Option[String] = None, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, type: String = "video") extends InlineQueryResult with Product with Serializable

    Link to a page containing an embedded video player or a video file.

    Link to a page containing an embedded video player or a video file.

    By default, this video file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the video.

    id

    Unique identifier for this result, 1-64 bytes

    videoUrl

    A valid URL for the embedded video player or video file

    mimeType

    Mime type of the content of video url, "text/html" or "video/mp4"

    thumbUrl

    URL of the thumbnail (jpeg only) for the video

    title

    Title for the result

    caption

    Caption of the video to be sent, 0-200 characters

    parseMode

    Parse mode of captured text (Markdown or HTML)

    videoWidth

    Video width

    videoHeight

    Video height

    videoDuration

    Video duration in seconds

    description

    Short description of the result

    replyMarkup

    Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the video

    type

    Type of the result, must be video

  56. final case class InlineQueryResultVoice(id: String, voiceUrl: String, title: String, caption: Option[String] = None, parseMode: Option[ParseMode] = None, voiceDuration: Option[Int] = None, replyMarkup: Option[InlineKeyboardMarkup] = None, inputMessageContent: Option[InlineQueryResultContent] = None, type: String = "voice") extends InlineQueryResult with Product with Serializable

    Link to a voice recording in an .ogg container encoded with OPUS.

    Link to a voice recording in an .ogg container encoded with OPUS.

    By default, this voice recording will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the the voice message.

    Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    id

    Unique identifier for this result, 1-64 bytes

    voiceUrl

    A valid URL for the voice recording

    title

    Recording title

    caption

    Caption, 0-200 characters

    parseMode

    Parse mode of captured text (Markdown or HTML)

    voiceDuration

    Recording duration in seconds

    replyMarkup

    Inline keyboard attached to the message

    inputMessageContent

    Content of the message to be sent instead of the voice recording

    type

    Type of the result, must be voice

  57. final case class InlineResultSelected(updateId: Long, chosenInlineResult: ChosenInlineResult) extends Update with Product with Serializable

    The result of an inline query that was chosen by a user and sent to their chat partner.

  58. sealed trait InputFile extends AnyRef

    This object represents the contents of a file to be uploaded.

    This object represents the contents of a file to be uploaded. Must be posted using multipart/form-data in the usual way that files are uploaded via the browser.

    Resending files without reuploading There are two ways of sending a file (photo, sticker, audio etc.). If it's a new file, you can upload it using multipart/form-data. If the file is already on our servers, you don't need to reupload it: each file object has a file_id field, you can simply pass this file_id as a parameter instead.

    It is not possible to change the file type when resending by file_id. I.e. a video can't be sent as a photo, a photo can't be sent as a document, etc. It is not possible to resend thumbnails. Resending a photo by file_id will send all of its sizes.

  59. sealed trait InputMedia extends Product

    Represents the content of a media message to be sent.

  60. final case class InputMediaAnimation(media: InputFile, thumb: Option[InputFile] = None, caption: Option[String] = None, parseMode: Option[ParseMode] = None, width: Option[Int] = None, height: Option[Int] = None, duration: Option[Int] = None, type: String = "animation") extends InputMedia with Product with Serializable

    Represents an animation file (GIF or H.264/MPEG-4 AVC video without sound) to be sent.

    Represents an animation file (GIF or H.264/MPEG-4 AVC video without sound) to be sent.

    media

    Input media file

    thumb

    Thumbnail of the file sent

    caption

    Caption of the animation to be sent, 0-200 characters

    parseMode

    Parse mode of captured text

    width

    Animation width

    height

    Animation height

    duration

    Animation duration

    type

    Type of the result, must be animation

  61. final case class InputMediaAudio(media: InputFile, thumb: Option[InputFile] = None, caption: Option[String] = None, parseMode: Option[ParseMode] = None, duration: Option[Int] = None, performer: Option[String] = None, title: Option[String] = None, type: String = "audio") extends InputMedia with Product with Serializable

    Represents an audio file to be treated as music to be sent.

    Represents an audio file to be treated as music to be sent.

    media

    Input media file

    thumb

    Thumbnail of the file sent

    caption

    Caption of the audio to be sent, 0-200 characters

    parseMode

    Parse mode of input text

    duration

    Duration of the audio in seconds

    performer

    Performer of the audio

    title

    Title of the audio

    type

    Type of the result, must be audio

  62. final case class InputMediaDocument(media: InputFile, thumb: Option[InputFile] = None, caption: Option[String] = None, parseMode: Option[ParseMode] = None, type: String = "document") extends InputMedia with Product with Serializable

    Represents a general file to be sent.

    Represents a general file to be sent.

    media

    Input media file

    thumb

    Thumbnail of the file sent

    caption

    Caption of the document to be sent, 0-200 characters

    parseMode

    Parse mode of input text

    type

    String Type of the result, must be document

  63. final case class InputMediaPhoto(media: InputFile, caption: Option[String] = None, parseMode: Option[ParseMode] = None, type: String = "photo") extends InputMedia with Product with Serializable

    Represents a photo to be sent.

    Represents a photo to be sent.

    media

    Input media file

    caption

    Caption of the photo to be sent, 0-200 characters

    parseMode

    Parse mode of captured text

    type

    Type of the result, must be photo

  64. final case class InputMediaVideo(media: InputFile, caption: Option[String] = None, width: Option[Int] = None, height: Option[Int] = None, duration: Option[Int] = None, parseMode: Option[ParseMode] = None, supportsStreaming: Option[Boolean] = None, type: String = "video") extends InputMedia with Product with Serializable

    Represents a video to be sent.

    Represents a video to be sent.

    media

    Input media file

    caption

    Caption of the video to be sent, 0-200 characters

    width

    Video width

    height

    Video height

    duration

    Video duration

    parseMode

    Parse mode of captured text

    supportsStreaming

    Pass True, if the uploaded video is suitable for streaming

    type

    Type of the result, must be video

  65. final case class Invoice(title: String, description: String, startParameter: String, currency: Currency, totalAmount: Long) extends Product with Serializable

    Basic information about an invoice.

    Basic information about an invoice.

    title

    Product name

    description

    Product description

    startParameter

    Unique bot deep-linking parameter that can be used to generate this invoice

    currency

    Three-letter ISO 4217 currency code

    totalAmount

    Total price in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).

  66. final class KeyboardButton extends AnyRef

    Button of the reply keyboard.

    Button of the reply keyboard. For simple text buttons String can be used instead of this object to specify text of the button. Optional fields are mutually exclusive.

  67. case class KeyboardButtonPollType(type: Option[String]) extends Product with Serializable
  68. final case class KickedMember(user: User, untilDate: Option[Int]) extends ChatMember with Product with Serializable
  69. final case class LabeledPrice(label: String, amount: Long) extends Product with Serializable

    Portion of the price for goods or services.

    Portion of the price for goods or services.

    label

    Portion label

    amount

    Price of the product in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).

  70. final case class LeftMember(user: User) extends ChatMember with Product with Serializable
  71. final case class Location(longitude: Double, latitude: Double) extends Product with Serializable

    Represents a point on the map.

  72. final case class LoginUrl(url: String, forwardText: Option[String] = None, botUsername: Option[String] = None, requestWriteAccess: Option[Boolean] = None) extends Product with Serializable

    Represents a parameter of the inline keyboard button used to automatically authorize a user

    Represents a parameter of the inline keyboard button used to automatically authorize a user

    url

    An HTTP URL to be opened with user authorization data added to the query string when the button is pressed. If the user refuses to provide authorization data, the original URL without information about the user will be opened. The data added is the same as described in Receiving authorization data.

    forwardText

    New text of the button in forwarded messages.

    botUsername

    Username of a bot, which will be used for user authorization. If not specified, the current bot's username will be assumed.

    requestWriteAccess

    Pass True to request the permission for your bot to send messages to the user.

  73. final case class MaskPosition(point: MaskPositionType, xShift: Double, yShift: Double, scale: Double) extends Product with Serializable

    The position on faces where a mask should be placed by default.

    The position on faces where a mask should be placed by default.

    point

    The part of the face relative to which the mask should be placed. One of “forehead”, “eyes”, “mouth”, or “chin”.

    xShift

    Shift by X-axis measured in widths of the mask scaled to the face size, from left to right. For example, choosing -1.0 will place mask just to the left of the default mask position.

    yShift

    Shift by Y-axis measured in heights of the mask scaled to the face size, from top to bottom. For example, 1.0 will place the mask just below the default mask position.

    scale

    Mask scaling coefficient. For example, 2.0 means double size.

  74. final case class MessageEdited(updateId: Long, editedMessage: TelegramMessage) extends Update with Product with Serializable

    New version of a message that is known to the bot and was edited.

  75. sealed trait MessageEntity extends AnyRef

    Represents one special entity in a text message.

    Represents one special entity in a text message. For example, hashtags, usernames, URLs, etc.

  76. final case class MessageReceived(updateId: Long, message: TelegramMessage) extends Update with Product with Serializable

    New incoming message of any kind — text, photo, sticker, etc.

  77. final case class OrderInfo(name: String, phoneNumber: String, email: String, shippingAddress: ShippingAddress) extends Product with Serializable

    name

    User name

    phoneNumber

    User's phone number

    email

    User email

    shippingAddress

    User shipping address

  78. final case class OrdinaryMember(user: User) extends ChatMember with Product with Serializable
  79. final case class PhotoSize(fileId: String, fileUniqueId: String, width: Int, height: Int, fileSize: Option[Int]) extends Product with Serializable

    Version of a photo or a file / sticker thumbnail of specifi1c size.

  80. final case class Poll(id: String, question: String, options: List[PollOption], totalVoterCount: Int, isClosed: Boolean, isAnonymous: Boolean, type: String, allowsMultipleAnswers: Boolean, correctOptionId: Option[Int]) extends Product with Serializable

    Represents a poll in one of the Telegram chats.

    Represents a poll in one of the Telegram chats.

    id

    Unique poll identifier

    question

    Poll question, 1-255 characters

    options

    List of poll options

    totalVoterCount

    Total number of users that voted in the poll

    isClosed

    True, if the poll is closed

    isAnonymous

    True, if the poll is anonymous

    allowsMultipleAnswers

    True, if the poll allows multiple answers

    correctOptionId

    0-based identifier of the correct answer option. Available only for polls in the quiz mode, which are closed, or was sent (not forwarded) by the bot or to the private chat with the bot.

  81. final case class PollAnswer(pollId: String, user: User, optionIds: List[Int]) extends Product with Serializable

    Answer of a user in a non-anonymous poll.

  82. final case class PollAnswerReceived(updateId: Long, pollAnswer: PollAnswer) extends Update with Product with Serializable

    A user changed their answer in a non-anonymous poll.

    A user changed their answer in a non-anonymous poll. Bots receive new votes only in polls that were sent by the bot itself.

  83. final case class PollOption(text: String, voterCount: Int) extends Product with Serializable

    This object contains information about one answer option in a poll.

    This object contains information about one answer option in a poll.

    text

    Option text, 1-100 characters

    voterCount

    Number of users that voted for this option

  84. final case class PollUpdated(updateId: Long, poll: Poll) extends Update with Product with Serializable

    New poll state.

    New poll state. Bots receive only updates about stopped polls and polls, which are sent by the bot.

  85. final case class PreCheckoutQuery(id: String, from: User, currency: Currency, totalAmount: Long, invoicePayload: String, shippingOptionId: Option[String], orderInfo: Option[OrderInfo]) extends Product with Serializable

    Information about an incoming pre-checkout query.

    Information about an incoming pre-checkout query.

    id

    Unique query identifier

    from

    User who sent the query

    currency

    Three-letter ISO 4217 currency code

    totalAmount

    Total price in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).

    invoicePayload

    Bot specified invoice payload

    shippingOptionId

    Identifier of the shipping option chosen by the user

    orderInfo

    Order info provided by the user

  86. final case class PreCheckoutQueryReceived(updateId: Long, preCheckoutQuery: PreCheckoutQuery) extends Update with Product with Serializable

    New incoming pre-checkout query.

    New incoming pre-checkout query. Contains full information about checkout.

  87. final case class PrivateChat(id: Long, username: Option[String], firstName: Option[String], lastName: Option[String]) extends Chat with Product with Serializable
  88. final case class ReplyKeyboardMarkup(keyboard: Seq[Seq[KeyboardButton]], resizeKeyboard: Option[Boolean] = None, oneTimeKeyboard: Option[Boolean] = None, selective: Option[Boolean] = None) extends ReplyMarkup with Product with Serializable

    Represents a custom keyboard with reply options (see Introduction to bots for details).

    Represents a custom keyboard with reply options (see Introduction to bots for details).

    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.

    keyboard

    Sequence of button rows, each represented by an Array of KeyboardButton objects

    resizeKeyboard

    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.

    oneTimeKeyboard

    Requests clients to hide the keyboard as soon as it's been used. Defaults to false.

    selective

    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 replyToMessage_id), sender of the original message.

  89. final case class ReplyKeyboardRemove(removeKeyboard: Boolean = true, selective: Option[Boolean] = None) extends ReplyMarkup with Product with Serializable

    Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard.

    Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see ReplyKeyboardMarkup).

    removeKeyboard

    Requests clients to remove the custom keyboard (user will not be able to summon this keyboard; if you want to hide the keyboard from sight but keep it accessible, use one_time_keyboard in ReplyKeyboardMarkup)

    selective

    Use this parameter if you want to remove the keyboard for 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. Example: A user votes in a poll, bot returns confirmation message in reply to the vote and removes the keyboard for that user, while still showing the keyboard with poll options to users who haven't voted yet.

  90. sealed trait ReplyMarkup extends AnyRef

    Base for custom (keyboard) markups.

  91. final case class Response[R](ok: Boolean, result: Option[R], description: Option[String], errorCode: Option[Int], parameters: Option[ResponseParameters]) extends Product with Serializable

    Telegram Bot API Response object

    Telegram Bot API Response object

    The response contains a JSON object. If 'ok' equals true, the request was successful and the result of the query can be found in the 'result' field. In case of an unsuccessful request, 'ok' equals false and the error is explained in the 'description'. An Integer 'error_code' field is also returned, but its contents are subject to change in the future.

    R

    Expected result type

    ok

    Signals if the request was successful

    result

    Contains the response in a type-safely way

    description

    A human-readable description of the result

    errorCode

    Error code

  92. sealed trait ResponseParameters extends Product

    Contains information about why a request was unsuccessful.

  93. final case class RestrictedMember(user: User, untilDate: Option[Int], isMember: Option[Boolean], canChangeInfo: Option[Boolean], canInviteUsers: Option[Boolean], canPinMessages: Option[Boolean], canSendMessages: Option[Boolean], canSendMediaMessages: Option[Boolean], canSendOtherMessages: Option[Boolean], canAddWebPagePreviews: Option[Boolean]) extends ChatMember with Product with Serializable
  94. final case class ShippingAddress(countryCode: CountryCode, state: String, city: String, streetLine1: String, streetLine2: String, postCode: String) extends Product with Serializable

    This object represents a shipping address.

    This object represents a shipping address. See CountryCode for a full listing.

    Country codes can be easily found/validated using the following:

    Locale
      .getISOCountries()
      .map(cc => (cc, new Locale("", cc)
      .getDisplayCountry()))
      .toMap
    countryCode

    ISO 3166-1 alpha-2 country code

    state

    State, if applicable

    city

    City

    streetLine1

    First line for the address

    streetLine2

    Second line for the address

    postCode

    Address post code

  95. final case class ShippingOption(id: String, title: String, prices: List[LabeledPrice]) extends Product with Serializable

    id

    Shipping option identifier

    title

    Option title

    prices

    List of price portions

  96. final case class ShippingQuery(id: String, from: User, invoicePayload: String, shippingAddress: ShippingAddress) extends Product with Serializable

    Information about an incoming shipping query.

    Information about an incoming shipping query.

    id

    Unique query identifier

    from

    User who sent the query

    invoicePayload

    Bot specified invoice payload

    shippingAddress

    User specified shipping address

  97. final case class ShippingQueryReceived(updateId: Long, shippingQuery: ShippingQuery) extends Update with Product with Serializable

    New incoming shipping query.

    New incoming shipping query. Only for invoices with flexible price.

  98. final case class Sticker(fileId: String, fileUniqueId: String, width: Int, height: Int, isAnimated: Boolean, thumb: Option[PhotoSize], emoji: Option[String], setName: Option[String], maskPosition: Option[MaskPosition], fileSize: Option[Int]) extends Product with Serializable

    fileId

    Unique identifier for this file

    fileUniqueId

    Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.

    width

    Sticker width

    height

    Sticker height

    thumb

    Sticker thumbnail in .webp or .jpg format

    emoji

    Emoji associated with the sticker

    setName

    Name of the sticker set to which the sticker belongs

    maskPosition

    For mask stickers, the position where the mask should be placed

    fileSize

    File size

  99. final case class StickerSet(name: String, title: String, isAnimated: Boolean, containsMasks: Boolean, stickers: List[Sticker]) extends Product with Serializable

    name

    Sticker set name

    title

    Sticker set title

    containsMasks

    True, if the sticker set contains masks

    stickers

    List of all set stickers

  100. final case class SuccessfulPayment(currency: Currency, totalAmount: Long, invoicePayload: String, shippingOptionId: Option[String], orderInfo: Option[OrderInfo], telegramPaymentChargeId: String, providerPaymentChargeId: String) extends Product with Serializable

    Represents successful payment transaction.

    Represents successful payment transaction.

    currency

    Three-letter ISO 4217 currency code

    totalAmount

    Total price in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).

    invoicePayload

    Bot specified invoice payload

    shippingOptionId

    Identifier of the shipping option chosen by the user

    orderInfo

    Order info provided by the user

    telegramPaymentChargeId

    Telegram payment identifier

    providerPaymentChargeId

    Provider payment identifier

  101. final case class Supergroup(id: Long, title: Option[String], username: Option[String]) extends Chat with Product with Serializable
  102. sealed trait Update extends AnyRef
  103. final case class User(id: Int, isBot: Boolean, firstName: String, lastName: Option[String], username: Option[String], languageCode: Option[String], canJoinGroups: Option[Boolean], canReadAllGroupMessages: Option[Boolean], supportsInlineQueries: Option[Boolean]) extends Product with Serializable

    Telegram user or bot.

    Telegram user or bot.

    id

    Unique identifier

    isBot

    True, if this user is a bot

    firstName

    User's or bot's first name

    lastName

    User's or bot's last name

    username

    User's or bot's username

    languageCode

    IETF language tag of the user's language

    canJoinGroups

    True, if the bot can be invited to groups. Returned only in getMe.

    canReadAllGroupMessages

    True, if privacy mode is disabled for the bot. Returned only in getMe.

    supportsInlineQueries

    True, if the bot supports inline queries. Returned only in getMe.

  104. final case class UserProfilePhotos(totalCount: Int, photos: List[List[PhotoSize]]) extends Product with Serializable

    User's profile pictures.

    User's profile pictures.

    totalCount

    Total number of profile pictures the target user has

    photos

    Requested profile pictures (in up to 4 sizes each)

  105. final case class Venue(location: Location, title: String, address: String, foursquareId: Option[String], foursquareType: Option[String]) extends Product with Serializable

    This object represents a venue.

    This object represents a venue.

    location

    Venue location

    title

    Name of the venue

    address

    Address of the venue

    foursquareId

    Foursquare identifier of the venue

    foursquareType

    Foursquare type of the venue. For example, “arts_entertainment/default”, “arts_entertainment/aquarium” or “food/icecream”.

  106. final case class Video(fileId: String, fileUniqueId: String, width: Int, height: Int, duration: Int, thumb: Option[PhotoSize], mimeType: Option[String], fileSize: Option[Int]) extends Product with Serializable

    This object represents a video file.

    This object represents a video file.

    fileId

    Unique identifier for this file

    fileUniqueId

    Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.

    width

    Video width as defined by sender

    height

    Video height as defined by sender

    duration

    Duration of the video in seconds as defined by sender

    thumb

    Video thumbnail

    mimeType

    Mime type of a file as defined by sender

    fileSize

    File size

  107. final case class VideoNote(fileId: String, fileUniqueId: String, length: Int, duration: Int, thumb: Option[PhotoSize], fileSize: Option[Int]) extends Product with Serializable

    Represents a video message (available in Telegram apps as of v.4.0).

    Represents a video message (available in Telegram apps as of v.4.0).

    fileId

    Unique identifier for this file

    fileUniqueId

    Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.

    length

    Video width and height as defined by sender

    duration

    Duration of the video in seconds as defined by sender

    thumb

    Video thumbnail

    fileSize

    File size

  108. final case class Voice(fileId: String, fileUniqueId: String, duration: Int, mimeType: Option[String], fileSize: Option[Int]) extends Product with Serializable

    Represents Telegram voice note

  109. final case class WebhookInfo(url: String, hasCustomCertificate: Boolean, pendingUpdateCount: Int, lastErrorDate: Option[Int] = None, lastErrorMessage: Option[String] = None, maxConnections: Int) extends Product with Serializable

    Contains information about the current status of a webhook.

    Contains information about the current status of a webhook.

    url

    Webhook URL, may be empty if webhook is not set up

    hasCustomCertificate

    True, if a custom certificate was provided for webhook certificate checks

    pendingUpdateCount

    Number of updates awaiting delivery

    lastErrorDate

    Unix time for the most recent error that happened when trying to deliver an update via webhook

    lastErrorMessage

    Error message in human-readable format for the most recent error that happened when trying to deliver an update via webhook

Value Members

  1. object CallbackGame extends CallbackGame
  2. object Chat
  3. object ChatAction extends Enumeration

    Type of action to broadcast.

    Type of action to broadcast.

    Choose one, depending on what the user is about to receive: typing for text messages, upload_photo for photos, record_video or upload_video for videos, record_audio or upload_audio for audio files, upload_document for general files, find_location for location data, record_video_note or upload_video_note for video notes.

  4. object ChatId
  5. object ChatMember
  6. object ChatPermissions extends Serializable
  7. object ChatType extends Enumeration

    Type of chat, can be either "private", "group", "supergroup" or "channel"

  8. object CountryCode extends Enumeration

    ISO 3166-1 alpha-2 country codes.

  9. object Currency extends Enumeration

    Parsed from https://core.telegram.org/bots/payments/currencies.json.

  10. object InlineKeyboardButton
  11. object InlineKeyboardMarkup extends Serializable
  12. object InputFile
  13. object KeyboardButton
  14. object MaskPositionType extends Enumeration

    The part of the face relative to which the mask should be placed.

    The part of the face relative to which the mask should be placed. One of "forehead", "eyes", "mouth", or "chin".

  15. object MemberStatus extends Enumeration
  16. object MessageEntity
  17. object ParseMode extends Enumeration

    Formatting options.

    Formatting options. The Bot API supports basic formatting for messages. You can use bold and italic text, as well as inline links and pre-formatted code in your bots' messages. Telegram clients will render them accordingly. You can use either markdown-style or HTML-style formatting. Note that Telegram clients will display an alert to the user before opening an inline link ('Open this link?' together with the full URL).

    Markdown style. To use this mode, pass Markdown in the parse_mode field when using sendMessage. Use the following syntax in your message: *bold text* _italic text_ [text](URL) inline fixed-width code pre-formatted fixed-width code block

    HTML style. To use this mode, pass HTML in the parse_mode field when using sendMessage. The following tags are currently supported: bold, bold italic, italic inline URL inline fixed-width code

    pre-formatted fixed-width code block
    

    Please note: Only the tags mentioned above are currently supported. Tags must not be nested. All <, > and & symbols that are not a part of a tag or an HTML entity must be replaced with the corresponding HTML entities (< with <, > with > and & with &). All numerical HTML entities are supported. The API currently supports only the following named HTML entities: <, >, & and ".

  18. object ReplyKeyboardMarkup extends Serializable
  19. object ReplyMarkup
  20. object Response extends Serializable
  21. object ResponseParameters
  22. object Update
  23. object UpdateType extends Enumeration

    Provides grouped update types to filter updates (e.g.

    Provides grouped update types to filter updates (e.g. message related, payments related).

Ungrouped