Package

com.bot4s.telegram

models

Permalink

package models

Visibility
  1. Public
  2. All

Type Members

  1. case class Animation(fileId: String, thumb: Option[PhotoSize] = None, fileName: Option[String] = None, mimeType: Option[String] = None, fileSize: Option[Int] = None) extends Product with Serializable

    Permalink

    You can provide an animation for your game so that it looks stylish in chats (check out Lumberjack for an example).

    You can provide an animation for your game so that it looks stylish in chats (check out Lumberjack for an example). This object represents an animation file to be displayed in the message containing a game.

    fileId

    String Unique file identifier

    thumb

    PhotoSize Optional. Animation thumbnail as defined by sender

    fileName

    String Optional. Original animation filename as defined by sender

    mimeType

    String Optional. MIME type of the file as defined by sender

    fileSize

    Integer Optional. File size

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

    Permalink

    This object represents an audio file (voice note).

    This object represents an audio file (voice note).

    fileId

    Unique identifier for this file

    duration

    Duration of the audio in seconds as defined by sender

    performer

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

    title

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

    mimeType

    Optional MIME type of the file as defined by sender

    fileSize

    Optional File size

    thumb

    PhotoSize Optional. Thumbnail of the album cover to which the music file belongs

  3. sealed trait CallbackGame extends AnyRef

    Permalink

    A placeholder, currently holds no information.

    A placeholder, currently holds no information. Use BotFather to set up your game.

  4. case class CallbackQuery(id: String, from: User, message: Option[Message] = None, inlineMessageId: Option[String] = None, chatInstance: String, data: Option[String] = None, gameShortName: Option[String] = None) extends Product with Serializable

    Permalink

    This object represents an incoming callback query from a callback button in an inline keyboard.

    This object 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.

    id

    String Unique identifier for this query

    from

    User Sender

    message

    Message Optional 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

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

    chatInstance

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

    data

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

    gameShortName

    String Optional. Short name of a Game to be returned, serves as the unique identifier for the game 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).

  5. case class Chat(id: Long, type: ChatType, title: Option[String] = None, username: Option[String] = None, firstName: Option[String] = None, lastName: Option[String] = None, allMembersAreAdministrators: Option[Boolean] = None, photo: Option[ChatPhoto] = None, description: Option[String] = None, inviteLink: Option[String] = None, pinnedMessage: Option[Message] = None, permissions: Option[ChatPermissions] = None, stickerSetName: Option[String] = None, canSetStickerSet: Option[Boolean] = None) extends Product with Serializable

    Permalink

    This object represents a chat.

    This object represents a chat.

    id

    Integer Unique identifier for this chat, not exceeding 1e13 by absolute value

    type

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

    title

    String Optional Title, for channels and group chats

    username

    String Optional Username, for private chats and channels if available

    firstName

    String Optional First name of the other party in a private chat

    lastName

    String Optional Last name of the other party in a private chat

    allMembersAreAdministrators

    Boolean Optional. True if a group has 'All Members Are Admins' enabled.

    photo

    ChatPhoto Optional. Chat photo. Returned only in getChat.

    description

    String Optional. Description, for groups, supergroups and channel chats. Returned only in getChat.

    inviteLink

    String Optional. Optional. Chat invite link, for groups, supergroups and channel chats. Each administrator in a chat generates their own invite links, so the bot must first generate the link using exportChatInviteLink. Returned only in getChat.

    pinnedMessage

    Message Optional. Pinned message, for supergroups. Returned only in getChat.

    permissions

    ChatPermissions Optional. Default chat member permissions, for groups and supergroups. Returned only in getChat.

    stickerSetName

    String Optional. For supergroups, name of group sticker set. Returned only in getChat.

    canSetStickerSet

    Boolean Optional. True, if the bot can change the group sticker set. Returned only in getChat.

  6. sealed trait ChatId extends AnyRef

    Permalink

    Represents either a chat or channel.

  7. case class ChatMember(user: User, status: MemberStatus, untilDate: Option[Int] = None, canBeEdited: Option[Boolean] = None, canChangeInfo: Option[Boolean] = None, canPostMessages: Option[Boolean] = None, canEditMessages: Option[Boolean] = None, canDeleteMessages: Option[Boolean] = None, canInviteUsers: Option[Boolean] = None, canRestrictMembers: Option[Boolean] = None, canPinMessages: Option[Boolean] = None, canPromoteMembers: Option[Boolean] = None, isMember: Option[Boolean] = None, canSendMessages: Option[Boolean] = None, canSendMediaMessages: Option[Boolean] = None, canSendPolls: Option[Boolean] = None, canSendOtherMessages: Option[Boolean] = None, canAddWebPagePreviews: Option[Boolean] = None) extends Product with Serializable

    Permalink

    This object contains information about one member of the chat.

    This object contains information about one member of the chat.

    user

    User Information about the user

    status

    String The member's status in the chat. Can be "creator", "administrator", "member", "left" or "kicked"

    untilDate

    Integer Optional. Restricted and kicked only. Date when restrictions will be lifted for this user, unix time

    canBeEdited

    Boolean Optional. Administrators only. True, if the bot is allowed to edit administrator privileges of that user

    canChangeInfo

    Boolean Optional. Administrators and restricted only. True, if the user is allowed to change the chat title, photo and other settings

    canPostMessages

    Boolean Optional. Administrators only. True, if the administrator can post in the channel, channels only

    canEditMessages

    Boolean Optional. Administrators only. True, if the administrator can edit messages of other users, channels only

    canDeleteMessages

    Boolean Optional. Administrators only. True, if the administrator can delete messages of other users

    canInviteUsers

    Boolean Optional. Administrators and restricted only. True, if the user is allowed to invite new users to the chat

    canRestrictMembers

    Boolean Optional. Administrators only. True, if the administrator can restrict, ban or unban chat members

    canPinMessages

    Boolean Optional. Administrators and restricted only. True, if the user is allowed to pin messages; groups and supergroups only

    canPromoteMembers

    Boolean Optional. Administrators only. True, if the administrator can add new administrators with a subset of his own privileges or demote administrators that he has promoted, directly or indirectly (promoted by administrators that were appointed by the user)

    isMember

    Boolean Optional. Restricted only. True, if the user is a member of the chat at the moment of the request

    canSendMessages

    Boolean Optional. Restricted only. True, if the user can send text messages, contacts, locations and venues

    canSendMediaMessages

    Boolean Optional. Restricted only. True, if the user can send audios, documents, photos, videos, video notes and voice notes, implies can_send_messages

    canSendPolls

    Boolean Optional. Restricted only. True, if the user is allowed to send polls

    canSendOtherMessages

    Boolean Optional. Restricted only. True, if the user can send animations, games, stickers and use inline bots, implies can_send_media_messages

    canAddWebPagePreviews

    Boolean Optional. Restricted only. True, if user may add web page previews to his messages, implies can_send_media_messages

  8. 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

    Permalink

    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.

    canSendMessages

    Boolean Optional. True, if the user is allowed to send text messages, contacts, locations and venues

    canSendMediaMessages

    Boolean Optional. True, if the user is allowed to send audios, documents, photos, videos, video notes and voice notes, implies can_send_messages

    canSendPolls

    Boolean Optional. True, if the user is allowed to send polls, implies can_send_messages

    canSendOtherMessages

    Boolean Optional. True, if the user is allowed to send animations, games, stickers and use inline bots, implies can_send_media_messages

    canAddWebPagePreviews

    Boolean Optional. True, if the user is allowed to add web page previews to their messages, implies can_send_media_messages

    canChangeInfo

    Boolean Optional. True, if the user is allowed to change the chat title, photo and other settings. Ignored in public supergroups

    canInviteUsers

    Boolean Optional. True, if the user is allowed to invite new users to the chat

    canPinMessages

    Boolean Optional. True, if the user is allowed to pin messages. Ignored in public supergroups

  9. case class ChatPhoto(smallFileId: String, bigFileId: String) extends Product with Serializable

    Permalink

    This object represents a chat photo.

    This object represents a chat photo.

    smallFileId

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

    bigFileId

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

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

    Permalink

    This object represents a result of an inline query that was chosen by the user and sent to their chat partner.

    This object represents a result of an inline query that was chosen by the user and sent to their chat partner.

    resultId

    String The unique identifier for the result that was chosen.

    from

    User The user that chose the result.

    location

    Location Optional Sender location, only for bots that require user location

    inlineMessageId

    String Optional 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

    String The query that was used to obtain the result

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

    Permalink

    This object represents a phone contact.

    This object represents a phone contact.

    phoneNumber

    Contact's phone number

    firstName

    Contact's first name

    lastName

    Optional Contact's last name

    userId

    Optional Contact's user identifier in Telegram

    vcard

    String Optional. Additional data about the contact in the form of a vCard

  12. case class Document(fileId: String, thumb: Option[PhotoSize] = None, fileName: Option[String] = None, mimeType: Option[String] = None, fileSize: Option[Int] = None) extends Product with Serializable

    Permalink

    This object represents a general file (as opposed to photos and audio files).

    This object represents a general file (as opposed to photos and audio files).

    fileId

    Unique file identifier

    thumb

    Optional Document thumbnail as defined by sender

    fileName

    Optional Original filename as defined by sender

    mimeType

    Optional MIME type of the file as defined by sender

    fileSize

    Optional File size

  13. case class File(fileId: String, fileSize: Option[Int] = None, filePath: Option[String] = None) extends Product with Serializable

    Permalink

    This object represents a file ready to be downloaded.

    This object 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 calling getFile. Maximum file size to download is 20 MB

    fileId

    Unique identifier for this file

    fileSize

    Optional File size, if known

    filePath

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

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

    Permalink

    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

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

    selective

    Optional 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.

  15. case class Game(title: String, description: String, photo: Array[PhotoSize], text: Option[String] = None, textEntities: Option[Array[MessageEntity]] = None, animation: Option[Animation] = None) extends Product with Serializable

    Permalink

    This object represents a game.

    This object represents a game. Use BotFather to create and edit games, their short names will act as unique identifiers.

    title

    String Title of the game

    description

    String Description of the game

    photo

    Array of PhotoSize Photo that will be displayed in the game message in chats.

    text

    String Optional. 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

    Array of MessageEntity Optional. Special entities that appear in text, such as usernames, URLs, bot commands, etc.

    animation

    Animation Optional. Animation that will be displayed in the game message in chats. Upload via BotFather

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

    Permalink

    This object represents one row of the high scores table for a game.

    This object represents one row of the high scores table for a game.

    position

    Integer Position in high score table for the game

    user

    User User

    score

    Integer Score

  17. case class InlineKeyboardButton(text: String, callbackData: Option[String] = None, url: Option[String] = None, loginUrl: Option[LoginUrl] = None, switchInlineQuery: Option[String] = None, switchInlineQueryCurrentChat: Option[String] = None, callbackGame: Option[CallbackGame] = None, pay: Option[Boolean] = None) extends Product with Serializable

    Permalink

    This object represents one button of an inline keyboard.

    This object represents one 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.

    text

    String Label text on the button

    callbackData

    String Optional Data to be sent in a callback query to the bot when button is pressed, 1-64 bytes

    url

    String Optional HTTP url to be opened when button is pressed

    loginUrl

    LoginUrl Optional. An HTTP URL used to automatically authorize the user. Can be used as a replacement for the Telegram Login Widget.

    switchInlineQuery

    String 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.

    switchInlineQueryCurrentChat

    String 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.

    callbackGame

    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.

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

    Permalink

    This object represents an inline keyboard that appears right next to the message it belongs to.

    This object 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

    Array of Array of InlineKeyboardButton Array of button rows, each represented by an Array of InlineKeyboardButton objects

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

    Permalink

    This object represents an incoming inline query.

    This object represents an incoming inline query.

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

    id

    String Unique identifier for this query

    from

    User Sender

    location

    Location Optional Sender location, only for bots that request user location

    query

    String Text of the query

    offset

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

  20. sealed trait InlineQueryResult extends AnyRef

    Permalink

    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

  21. case class InlineQueryResultArticle(id: String, title: String, inputMessageContent: InputMessageContent, 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

    Permalink

    Represents a link to an article or web page.

    Represents a link to an article or web page.

    id

    String Unique identifier for this result, 1-64 Bytes

    title

    String Title of the result

    inputMessageContent

    InputMessageContent Content of the message to be sent

    replyMarkup

    InlineKeyboardMarkup Optional Inline keyboard attached to the message

    url

    String Optional URL of the result

    hideUrl

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

    description

    String Optional Short description of the result

    thumbUrl

    String Optional Url of the thumbnail for the result

    thumbWidth

    Integer Optional Thumbnail width

    thumbHeight

    Integer Optional Thumbnail height

    type

    String Type of the result, must be article

  22. 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[InputMessageContent] = None, type: String = "audio") extends InlineQueryResult with Product with Serializable

    Permalink

    Represents a link to an mp3 audio file.

    Represents a 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

    String Unique identifier for this result, 1-64 bytes

    audioUrl

    String A valid URL for the audio file

    title

    String Title

    caption

    String Optional. Caption, 0-200 characters

    parseMode

    String Optional Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    performer

    String Optional Performer

    audioDuration

    Integer Optional Audio duration in seconds

    replyMarkup

    InlineKeyboardMarkup Optional Inline keyboard attached to the message

    inputMessageContent

    InputMessageContent Optional Content of the message to be sent instead of the audio Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    type

    String Type of the result, must be audio

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

    Permalink

    Represents a link to an mp3 audio file stored on the Telegram servers.

    Represents a 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.

    id

    String Unique identifier for this result, 1-64 bytes

    audioFileId

    String A valid file identifier for the audio file

    caption

    String Optional. Caption, 0-200 characters

    parseMode

    String Optional Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    replyMarkup

    InlineKeyboardMarkup Optional An Inline keyboard attached to the message

    inputMessageContent

    InputMessageContent Optional Content of the message to be sent instead of the audio Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    type

    String Type of the result, must be audio

  24. 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[InputMessageContent] = None, type: String = "document") extends InlineQueryResult with Product with Serializable

    Permalink

    Represents a link to a file stored on the Telegram servers.

    Represents a 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.

    id

    String Unique identifier for this result, 1-64 bytes

    title

    String Title for the result

    documentFileId

    String A valid file identifier for the file

    description

    String Optional Short description of the result

    caption

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

    parseMode

    String Optional Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    replyMarkup

    InlineKeyboardMarkup Optional An Inline keyboard attached to the message

    inputMessageContent

    InputMessageContent Optional Content of the message to be sent instead of the file Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    type

    String Type of the result, must be document

  25. 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[InputMessageContent] = None, type: String = "gif") extends InlineQueryResult with Product with Serializable

    Permalink

    Represents a link to an animated GIF file stored on the Telegram servers.

    Represents a 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

    String A valid file identifier for the GIF file

    title

    String Optional Title for the result

    caption

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

    parseMode

    String Optional Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    replyMarkup

    InlineKeyboardMarkup Optional An Inline keyboard attached to the message

    inputMessageContent

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

    type

    String Type of the result, must be gif

  26. 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[InputMessageContent] = None, type: String = "mpeg4_gif") extends InlineQueryResult with Product with Serializable

    Permalink

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

    Represents a 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

    String Unique identifier for this result, 1-64 bytes

    mpeg4FileId

    String A valid file identifier for the MP4 file

    title

    String Optional Title for the result

    caption

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

    parseMode

    String Optional Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    replyMarkup

    InlineKeyboardMarkup Optional An Inline keyboard attached to the message

    inputMessageContent

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

    type

    String Type of the result, must be mpeg4_gif

  27. 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[InputMessageContent] = None, type: String = "photo") extends InlineQueryResult with Product with Serializable

    Permalink

    Represents a link to a photo stored on the Telegram servers.

    Represents a 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

    String Unique identifier for this result, 1-64 bytes

    photoFileId

    String A valid file identifier of the photo

    title

    String Optional Title for the result

    description

    String Optional Short description of the result

    caption

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

    parseMode

    String Optional Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    replyMarkup

    InlineKeyboardMarkup Optional Inline keyboard attached to the message

    inputMessageContent

    InputMessageContent Optional Content of the message to be sent instead of the photo

    type

    String Type of the result, must be photo

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

    Permalink

    Represents a link to a sticker stored on the Telegram servers.

    Represents a 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.

    id

    String Unique identifier for this result, 1-64 bytes

    stickerFileId

    String A valid file identifier of the sticker

    replyMarkup

    InlineKeyboardMarkup Optional An Inline keyboard attached to the message

    inputMessageContent

    InputMessageContent Optional Content of the message to be sent instead of the sticker Note: This will only work in Telegram versions released after 9 April, 2016 for static stickers and after 06 July, 2019 for animated stickers. Older clients will ignore them.

    type

    String Type of the result, must be sticker

  29. 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[InputMessageContent] = None, type: String = "video") extends InlineQueryResult with Product with Serializable

    Permalink

    Represents a link to a video file stored on the Telegram servers.

    Represents a 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

    String Unique identifier for this result, 1-64 bytes

    videoFileId

    String A valid file identifier for the video file

    title

    String Title for the result

    description

    String Optional Short description of the result

    caption

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

    parseMode

    String Optional Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    replyMarkup

    InlineKeyboardMarkup Optional An Inline keyboard attached to the message

    inputMessageContent

    InputMessageContent Optional Content of the message to be sent instead of the video

    type

    String Type of the result, must be video

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

    Permalink

    InlineQueryResultCachedVoice

    InlineQueryResultCachedVoice

    Represents a 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.

    id

    String Unique identifier for this result, 1-64 bytes

    voiceFileId

    String A valid file identifier for the voice message

    title

    String Voice message title

    caption

    String Optional. Caption, 0-200 characters

    parseMode

    String Optional Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    replyMarkup

    InlineKeyboardMarkup Optional An Inline keyboard attached to the message

    inputMessageContent

    InputMessageContent Optional Content of the message to be sent instead of the voice message Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    type

    String Type of the result, must be voice

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

    Permalink

    Represents a contact with a phone number.

    Represents a 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.

    id

    String Unique identifier for this result, 1-64 Bytes

    phoneNumber

    String Contact's phone number

    firstName

    String Contact's first name

    lastName

    String Optional Contact's last name

    vcard

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

    replyMarkup

    InlineKeyboardMarkup Optional Inline keyboard attached to the message

    inputMessageContent

    InputMessageContent Optional Content of the message to be sent instead of the contact

    thumbUrl

    String Optional Url of the thumbnail for the result

    thumbWidth

    Integer Optional Thumbnail width

    thumbHeight

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

    type

    String Type of the result, must be contact

  32. 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[InputMessageContent] = None, thumbUrl: Option[String] = None, thumbWidth: Option[Int] = None, thumbHeight: Option[Int] = None, type: String = "document") extends InlineQueryResult with Product with Serializable

    Permalink

    Represents a link to a file.

    Represents a 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

    String Unique identifier for this result, 1-64 bytes

    title

    String Title for the result

    caption

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

    parseMode

    String Optional Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    documentUrl

    String A valid URL for the file

    mimeType

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

    description

    String Optional Short description of the result

    replyMarkup

    InlineKeyboardMarkup Optional Inline keyboard attached to the message

    inputMessageContent

    InputMessageContent Optional Content of the message to be sent instead of the file

    thumbUrl

    String Optional URL of the thumbnail (jpeg only) for the file

    thumbWidth

    Integer Optional Thumbnail width

    thumbHeight

    Integer Optional Thumbnail height

    type

    String Type of the result, must be document

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

    Permalink

    Represents a Game.

    Represents a Game.

    id

    String Unique identifier for this result, 1-64 bytes

    gameShortName

    String Short name of the game

    replyMarkup

    InlineKeyboardMarkup Optional. Inline keyboard attached to the message 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.

    type

    String Type of the result, must be game

  34. 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[InputMessageContent] = None, type: String = "gif") extends InlineQueryResult with Product with Serializable

    Permalink

    Represents a link to an animated GIF file.

    Represents a 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

    String Unique identifier for this result, 1-64 bytes

    gifUrl

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

    gifWidth

    Integer Optional Width of the GIF

    gifHeight

    Integer Optional Height of the GIF

    gifDuration

    Integer Optional. Duration of the GIF

    thumbUrl

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

    title

    String Optional Title for the result

    caption

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

    parseMode

    String Optional Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    replyMarkup

    InlineKeyboardMarkup Optional Inline keyboard attached to the message

    inputMessageContent

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

    type

    String Type of the result, must be gif

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

    Permalink

    Represents a location on a map.

    Represents a 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.

    id

    String Unique identifier for this result, 1-64 Bytes

    latitude

    Float number Location latitude in degrees

    longitude

    Float number Location longitude in degrees

    title

    String Location title

    replyMarkup

    InlineKeyboardMarkup Optional Inline keyboard attached to the message

    inputMessageContent

    InputMessageContent Optional Content of the message to be sent instead of the location

    thumbUrl

    String Optional Url of the thumbnail for the result

    thumbWidth

    Integer Optional Thumbnail width

    thumbHeight

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

    type

    String Type of the result, must be location

  36. 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[InputMessageContent] = None, type: String = "mpeg4_gif") extends InlineQueryResult with Product with Serializable

    Permalink

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

    Represents a 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

    String Unique identifier for this result, 1-64 bytes

    mpeg4Url

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

    mpeg4Width

    Integer Optional Video width

    mpeg4Height

    Integer Optional Video height

    mpeg4Duration

    Integer Optional. Video duration

    thumbUrl

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

    title

    String Optional Title for the result

    caption

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

    parseMode

    String Optional Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    replyMarkup

    InlineKeyboardMarkup Optional Inline keyboard attached to the message

    inputMessageContent

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

    type

    String Type of the result, must be mpeg4_gif

  37. 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[InputMessageContent] = None, type: String = "photo") extends InlineQueryResult with Product with Serializable

    Permalink

    Represents a link to a photo.

    Represents a 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

    String Unique identifier for this result, 1-64 bytes

    photoUrl

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

    thumbUrl

    String URL of the thumbnail for the photo

    photoWidth

    Integer Optional Width of the photo

    photoHeight

    Integer Optional Height of the photo

    title

    String Optional Title for the result

    description

    String Optional Short description of the result

    caption

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

    parseMode

    String Optional Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    replyMarkup

    InlineKeyboardMarkup Optional Inline keyboard attached to the message

    inputMessageContent

    InputMessageContent Optional Content of the message to be sent instead of the photo

    type

    String Type of the result, must be photo

  38. 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[InputMessageContent] = None, thumbUrl: Option[String] = None, thumbWidth: Option[Int] = None, thumbHeight: Option[Int] = None, type: String = "venue") extends InlineQueryResult with Product with Serializable

    Permalink

    Represents a venue.

    Represents a 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.

    id

    String Unique identifier for this result, 1-64 Bytes

    latitude

    Float Latitude of the venue location in degrees

    longitude

    Float Longitude of the venue location in degrees

    title

    String Title of the venue

    address

    String Address of the venue

    foursquareId

    String Optional Foursquare identifier of the venue if known

    foursquareType

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

    replyMarkup

    InlineKeyboardMarkup Optional Inline keyboard attached to the message

    inputMessageContent

    InputMessageContent Optional Content of the message to be sent instead of the venue

    thumbUrl

    String Optional Url of the thumbnail for the result

    thumbWidth

    Integer Optional Thumbnail width

    thumbHeight

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

    type

    String Type of the result, must be venue

  39. 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[InputMessageContent] = None, type: String = "video") extends InlineQueryResult with Product with Serializable

    Permalink

    Represents a link to a page containing an embedded video player or a video file.

    Represents a 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

    String Unique identifier for this result, 1-64 bytes

    videoUrl

    String A valid URL for the embedded video player or video file

    mimeType

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

    thumbUrl

    String URL of the thumbnail (jpeg only) for the video

    title

    String Title for the result

    caption

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

    parseMode

    String Optional Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    videoWidth

    Integer Optional Video width

    videoHeight

    Integer Optional Video height

    videoDuration

    Integer Optional Video duration in seconds

    description

    String Optional Short description of the result

    replyMarkup

    InlineKeyboardMarkup Optional Inline keyboard attached to the message

    inputMessageContent

    InputMessageContent Optional Content of the message to be sent instead of the video

    type

    String Type of the result, must be video

  40. 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[InputMessageContent] = None, type: String = "voice") extends InlineQueryResult with Product with Serializable

    Permalink

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

    Represents a 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.

    id

    String Unique identifier for this result, 1-64 bytes

    voiceUrl

    String A valid URL for the voice recording

    title

    String Recording title

    caption

    String Optional. Caption, 0-200 characters

    parseMode

    String Optional Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    voiceDuration

    Integer Optional Recording duration in seconds

    replyMarkup

    InlineKeyboardMarkup Optional Inline keyboard attached to the message

    inputMessageContent

    InputMessageContent Optional Content of the message to be sent instead of the voice recording Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    type

    String Type of the result, must be voice

  41. case class InputContactMessageContent(phoneNumber: String, firstName: String, lastName: Option[String] = None, vcard: Option[String] = None) extends InputMessageContent with Product with Serializable

    Permalink

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

    Represents the 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

    String Contact's phone number

    firstName

    String Contact's first name

    lastName

    String Optional Contact's last name

    vcard

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

  42. trait InputFile extends AnyRef

    Permalink

    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.

  43. case class InputLocationMessageContent(latitude: Double, longitude: Double) extends InputMessageContent with Product with Serializable

    Permalink

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

    Represents the 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

    Float Latitude of the location in degrees

    longitude

    Float Longitude of the location in degrees

  44. sealed trait InputMedia extends AnyRef

    Permalink
  45. case class InputMediaAnimation(media: String, animation: Option[InputFile] = None, 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

    Permalink

    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

    String File to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a file from the Internet, or pass “attach://<file_attach_name>” to upload a new one using multipart/form-data under <file_attach_name> name. More info on Sending Files »

    thumb

    InputFile or String Optional. Thumbnail of the file sent. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail‘s width and height should not exceed 90. Ignored if the file is not uploaded using multipart/form-data. Thumbnails can’t be reused and can be only uploaded as a new file, so you can pass “attach://<file_attach_name>” if the thumbnail was uploaded using multipart/form-data under <file_attach_name>. More info on Sending Files »

    caption

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

    parseMode

    String Optional. Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    width

    Integer Optional. Animation width

    height

    Integer Optional. Animation height

    duration

    Integer Optional. Animation duration

    type

    String Type of the result, must be animation

  46. case class InputMediaAudio(media: String, audio: Option[InputFile] = None, 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

    Permalink

    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

    String File to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a file from the Internet, pass “attach://<file_attach_name>” to upload a new one using multipart/form-data under <file_attach_name> name. More info on Sending Files »

    thumb

    InputFile or String Optional. Thumbnail of the file sent. thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail‘s width and height should not exceed 90. if the file is not uploaded using multipart/form-data. Thumbnails can’t be reused and can be only uploaded as a new file, so you can pass “attach://<file_attach_name>” if the thumbnail was uploaded using multipart/form-data under <file_attach_name>. More info on Sending Files »

    caption

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

    parseMode

    String Optional. Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    duration

    Integer Optional. Duration of the audio in seconds

    performer

    String Optional. Performer of the audio

    title

    String Optional. Title of the audio

    type

    String Type of the result, must be audio

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

    Permalink

    Represents a general file to be sent.

    Represents a general file to be sent.

    media

    String File to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a file from the Internet, or pass “attach://<file_attach_name>” to upload a new one using multipart/form-data under <file_attach_name> name. More info on Sending Files »

    thumb

    InputFile or String Optional. Thumbnail of the file sent. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail‘s width and height should not exceed 90. Ignored if the file is not uploaded using multipart/form-data. Thumbnails can’t be reused and can be only uploaded as a new file, so you can pass “attach://<file_attach_name>” if the thumbnail was uploaded using multipart/form-data under <file_attach_name>. More info on Sending Files »

    caption

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

    type

    String Type of the result, must be document

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

    Permalink

    Represents a photo to be sent.

    Represents a photo to be sent.

    media

    String File to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a file from the Internet, or pass "attach://<file_attach_name>" to upload a new one using multipart/form-data under <file_attach_name> name. More info on Sending Files »

    photo

    InputFile for the "attach://file_attach_name" case.

    caption

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

    parseMode

    String Optional. Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    type

    String Type of the result, must be photo

  49. case class InputMediaVideo(media: String, video: Option[InputFile] = None, 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

    Permalink

    Represents a video to be sent.

    Represents a video to be sent.

    media

    String File to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a file from the Internet, or pass "attach://<file_attach_name>" to upload a new one using multipart/form-data under <file_attach_name> name. More info on Sending Files »

    caption

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

    width

    Integer Optional. Video width

    height

    Integer Optional. Video height

    duration

    Integer Optional. Video duration

    parseMode

    String Optional. Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in the media caption.

    supportsStreaming

    Boolean Optional. Pass True, if the uploaded video is suitable for streaming

    type

    String Type of the result, must be video

  50. sealed trait InputMessageContent extends AnyRef

    Permalink

    This object represents the content of a message to be sent as a result of an inline query.

    This object represents the content of a message to be sent as a result of an inline query.

    Telegram clients currently support the following 4 types: InputTextMessageContent InputLocationMessageContent InputVenueMessageContent InputContactMessageContent

  51. case class InputTextMessageContent(messageText: String, parseMode: Option[ParseMode] = None, disableWebPagePreview: Option[Boolean] = None) extends InputMessageContent with Product with Serializable

    Permalink

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

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

    messageText

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

    parseMode

    String Optional Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in your bot's message.

    disableWebPagePreview

    Boolean Optional Disables link previews for links in the sent message

  52. case class InputVenueMessageContent(latitude: Double, longitude: Double, title: String, address: String, foursquareId: Option[String] = None, foursquareType: Option[String] = None) extends InputMessageContent with Product with Serializable

    Permalink

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

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

    latitude

    Float Latitude of the venue in degrees

    longitude

    Float Longitude of the venue in degrees

    title

    String Name of the venue

    address

    String Address of the venue

    foursquareId

    String Optional Foursquare identifier of the venue, if known

    foursquareType

    String Optional. Foursquare type of the venue, if known. (For example, “arts_entertainment/default”, “arts_entertainment/aquarium” or “food/icecream”.) Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

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

    Permalink

    This object contains basic information about an invoice.

    This object contains basic information about an invoice.

    title

    String Product name

    description

    String Product description

    startParameter

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

    currency

    String Three-letter ISO 4217 currency code

    totalAmount

    Integer 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).

  54. case class KeyboardButton(text: String, requestContact: Option[Boolean] = None, requestLocation: Option[Boolean] = None) extends Product with Serializable

    Permalink

    This object represents one button of the reply keyboard.

    This object represents one 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.

    Note: requestContact and requestLocation options will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    text

    String Text of the button. If none of the optional fields are used, it will be sent to the bot as a message when the button is pressed

    requestContact

    Boolean Optional If True, the user's phone number will be sent as a contact when the button is pressed. Available in private chats only

    requestLocation

    Boolean Optional If True, the user's current location will be sent when the button is pressed. Available in private chats only

  55. case class LabeledPrice(label: String, amount: Long) extends Product with Serializable

    Permalink

    This object represents a portion of the price for goods or services.

    This object represents a portion of the price for goods or services.

    label

    String Portion label

    amount

    Integer 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).

  56. case class Location(longitude: Double, latitude: Double) extends Product with Serializable

    Permalink

    This object represents a point on the map.

    This object represents a point on the map.

    longitude

    Longitude as defined by sender

    latitude

    Latitude as defined by sender

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

    Permalink

    This object represents a parameter of the inline keyboard button used to automatically authorize a user.

    This object represents a parameter of the inline keyboard button used to automatically authorize a user. Serves as a great replacement for the Telegram Login Widget when the user is coming from Telegram. All the user needs to do is tap/click a button and confirm that they want to log in:

    Telegram apps support these buttons as of version 5.7.

    Sample bot: @discussbot

    url

    String 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. NOTE: You must always check the hash of the received data to verify the authentication and the integrity of the data as described in Checking authorization.

    forwardText

    String Optional. New text of the button in forwarded messages.

    botUsername

    String Optional. Username of a bot, which will be used for user authorization. See Setting up a bot for more details. If not specified, the current bot's username will be assumed. The url's domain must be the same as the domain linked with the bot. See Linking your domain to the bot for more details.

    requestWriteAccess

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

  58. case class MaskPosition(point: MaskPositionType, xShift: Double, yShift: Double, zoom: Double) extends Product with Serializable

    Permalink

    This object describes the position on faces where a mask should be placed by default.

    This object describes the position on faces where a mask should be placed by default.

    point

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

    xShift

    Float number 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

    Float number 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.

    zoom

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

  59. case class Message(messageId: Int, from: Option[User] = None, date: Int, chat: Chat, forwardFrom: Option[User] = None, forwardFromChat: Option[Chat] = None, forwardFromMessageId: Option[Int] = None, forwardSignature: Option[String] = None, forwardSenderName: Option[String] = None, forwardDate: Option[Int] = None, replyToMessage: Option[Message] = None, editDate: Option[Int] = None, authorSignature: Option[String] = None, text: Option[String] = None, entities: Option[Seq[MessageEntity]] = None, captionEntities: Option[Array[MessageEntity]] = None, audio: Option[Audio] = None, document: Option[Document] = None, animation: Option[Animation] = None, game: Option[Game] = None, photo: Option[Seq[PhotoSize]] = None, sticker: Option[Sticker] = None, video: Option[Video] = None, voice: Option[Voice] = None, videoNote: Option[VideoNote] = None, newChatMembers: Option[Array[User]] = None, caption: Option[String] = None, contact: Option[Contact] = None, location: Option[Location] = None, venue: Option[Venue] = None, poll: Option[Poll] = None, leftChatMember: Option[User] = None, newChatTitle: Option[String] = None, newChatPhoto: Option[Seq[PhotoSize]] = None, deleteChatPhoto: Option[Boolean] = None, groupChatCreated: Option[Boolean] = None, supergroupChatCreated: Option[Boolean] = None, channelChatCreated: Option[Boolean] = None, migrateToChatId: Option[Long] = None, migrateFromChatId: Option[Long] = None, pinnedMessage: Option[Message] = None, invoice: Option[Invoice] = None, successfulPayment: Option[SuccessfulPayment] = None, connectedWebsite: Option[String] = None, replyMarkup: Option[InlineKeyboardMarkup] = None) extends Product with Serializable

    Permalink

    This object represents a message.

    This object represents a message.

    messageId

    Unique message identifier

    from

    Sender

    date

    Date the message was sent in Unix time

    chat

    User or GroupChat Conversation the message belongs to - user in case of a private message, GroupChat in case of a group

    forwardFrom

    Optional For forwarded messages, sender of the original message

    forwardFromChat

    Optional For messages forwarded from a channel, information about the original channel

    forwardFromMessageId

    Integer Optional. For forwarded channel posts, identifier of the original message in the channel

    forwardSignature

    String Optional. For messages forwarded from channels, signature of the post author if present

    forwardSenderName

    String Optional. Sender's name for messages forwarded from users who disallow adding a link to their account in forwarded messages

    forwardDate

    Optional For forwarded messages, date the original message was sent in Unix time

    replyToMessage

    Optional For replies, the original message. Note that the Message object in this field will not contain further replyToMessage fields even if it itself is a reply.

    editDate

    Optional. Date the message was last edited in Unix time

    authorSignature

    String Optional. Signature of the post author for messages in channels

    text

    Optional For text messages, the actual UTF-8 text of the message

    entities

    Array of MessageEntity Optional For text messages, special entities like usernames, URLs, bot commands, etc. that appear in the text

    captionEntities

    Array of MessageEntity Optional. For messages with a caption, special entities like usernames, URLs, bot commands, etc. that appear in the caption

    audio

    Optional Message is an audio file, information about the file

    document

    Optional Message is a general file, information about the file

    animation

    Optional. Message is an animation, information about the animation. For backward compatibility, when this field is set, the document field will also be set

    game

    Game Optional. Message is a game, information about the game. More about games »

    photo

    Optional Message is a photo, available sizes of the photo

    sticker

    Optional Message is a sticker, information about the sticker

    video

    Optional Message is a video, information about the video

    voice

    Optional Message is a voice message, information about the file

    videoNote

    Optional Message is a video note, information about the video message

    newChatMembers

    Array of User Optional. New members that were added to the group or supergroup and information about them (the bot itself may be one of these members)

    caption

    Optional Caption for the photo or video

    contact

    Optional Message is a shared contact, information about the contact

    location

    Optional Message is a shared location, information about the location

    venue

    Venue Optional Message is a venue, information about the venue

    poll

    Poll Optional. Message is a native poll, information about the poll

    leftChatMember

    Optional A member was removed from the group, information about them (this member may be bot itself)

    newChatTitle

    Optional A group title was changed to this value

    newChatPhoto

    Optional A group photo was change to this value

    deleteChatPhoto

    Optional Informs that the group photo was deleted

    groupChatCreated

    Optional Informs that the group has been created

    supergroupChatCreated

    True Optional Service message: the supergroup has been created

    channelChatCreated

    True Optional Service message: the channel has been created

    migrateToChatId

    Integer Optional The group has been migrated to a supergroup with the specified identifier, not exceeding 1e13 by absolute value

    migrateFromChatId

    Integer Optional The supergroup has been migrated from a group with the specified identifier, not exceeding 1e13 by absolute value

    pinnedMessage

    Message Optional Specified message was pinned. Note that the Message object in this field will not contain further reply_to_message fields even if it is itself a reply.

    invoice

    Invoice Optional. Message is an invoice for a payment, information about the invoice. More about payments »

    successfulPayment

    Optional. Message is a service message about a successful payment, information about the payment.

    connectedWebsite

    String Optional. The domain name of the website on which the user has logged in. More about Telegram Login »

    replyMarkup

    InlineKeyboardMarkup Optional. Inline keyboard attached to the message. login_url buttons are represented as ordinary url buttons.

  60. case class MessageEntity(type: MessageEntityType, offset: Int, length: Int, url: Option[String] = None, user: Option[User] = None) extends Product with Serializable

    Permalink

    This object represents one special entity in a text message.

    This object represents one special entity in a text message.

    For example, hashtags, usernames, URLs, etc.

    type

    String Type of the entity. One of mention (@username), hashtag, bot_command, url, email, bold (bold text), italic (italic text), code (monowidth string), pre (monowidth block), text_link (for clickable text URLs), text_mention (for users without usernames)

    offset

    Integer Offset in UTF-16 code units to the start of the entity

    length

    Integer Length of the entity in UTF-16 code units

    url

    String Optional For "text_link" only, url that will be opened after user taps on the text

    user

    User Optional. For "text_mention" only, the mentioned user

  61. case class OrderInfo(name: Option[String] = None, phoneNumber: Option[String] = None, email: Option[String] = None, shippingAddress: Option[ShippingAddress] = None) extends Product with Serializable

    Permalink

    This object represents information about an order.

    This object represents information about an order.

    name

    String Optional. User name

    phoneNumber

    String Optional. User's phone number

    email

    String Optional. User email

    shippingAddress

    ShippingAddress Optional. User shipping address

  62. case class PhotoSize(fileId: String, width: Int, height: Int, fileSize: Option[Int] = None) extends Product with Serializable

    Permalink

    This object represents one size of a photo or a file / sticker thumbnail.

    This object represents one size of a photo or a file / sticker thumbnail.

    fileId

    Unique identifier for this file

    width

    Photo width

    height

    Photo height

    fileSize

    Optional File size

  63. case class Poll(id: String, question: String, options: Array[PollOption], isClosed: Boolean) extends Product with Serializable

    Permalink

    This object contains information about a poll.

    This object contains information about a poll.

    id

    Unique poll identifier

    question

    Poll question, 1-255 characters

    options

    List of poll options

    isClosed

    True, if the poll is closed

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

    Permalink

    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

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

    Permalink

    This object contains information about an incoming pre-checkout query.

    This object contains information about an incoming pre-checkout query.

    id

    String Unique query identifier

    from

    User User who sent the query

    currency

    String Three-letter ISO 4217 currency code

    totalAmount

    Integer 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

    String Bot specified invoice payload

    shippingOptionId

    String Optional. Identifier of the shipping option chosen by the user

    orderInfo

    OrderInfo Optional. Order info provided by the user

  66. 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

    Permalink

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

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

    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

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

    resizeKeyboard

    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.

    oneTimeKeyboard

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

    selective

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

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

    Permalink

    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

    True 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

    Boolean Optional. 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.

  68. sealed trait ReplyMarkup extends AnyRef

    Permalink

    ReplyMarkup

    ReplyMarkup

    Base for custom (keyboard) markups.

  69. case class ResponseParameters(migrateToChatId: Option[Long] = None, retryAfter: Option[Int] = None) extends Product with Serializable

    Permalink

    Contains information about why a request was unsuccessful.

    Contains information about why a request was unsuccessful.

    migrateToChatId

    Integer Optional. The group has been migrated to a supergroup with the specified identifier. This number may be greater than 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is smaller than 52 bits, so a signed 64 bit integer or double-precision float type are safe for storing this identifier.

    retryAfter

    Integer Optional. In case of exceeding flood control, the number of seconds left to wait before the request can be repeated

  70. case class ShippingAddress(countryCode: CountryCode, state: String, city: String, streetLine1: String, streetLine2: String, postCode: String) extends Product with Serializable

    Permalink

    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

    String ISO 3166-1 alpha-2 country code

    state

    String State, if applicable

    city

    String City

    streetLine1

    String First line for the address

    streetLine2

    String Second line for the address

    postCode

    String Address post code

  71. case class ShippingOption(id: String, title: String, prices: Array[LabeledPrice]) extends Product with Serializable

    Permalink

    This object represents one shipping option.

    This object represents one shipping option.

    id

    String Shipping option identifier

    title

    String Option title

    prices

    Array of LabeledPrice List of price portions

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

    Permalink

    This object contains information about an incoming shipping query.

    This object contains information about an incoming shipping query.

    id

    String Unique query identifier

    from

    User User who sent the query

    invoicePayload

    String Bot specified invoice payload

    shippingAddress

    ShippingAddress User specified shipping address

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

    Permalink

    This object represents a sticker.

    This object represents a sticker.

    fileId

    Unique identifier for this file

    width

    Sticker width

    height

    Sticker height

    isAnimated

    Boolean True, if the sticker is animated

    thumb

    Optional Sticker thumbnail in .webp or .jpg format

    emoji

    Optional. Emoji associated with the sticker

    setName

    String Optional. Name of the sticker set to which the sticker belongs

    maskPosition

    MaskPosition Optional. For mask stickers, the position where the mask should be placed

    fileSize

    Integer Optional. File size

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

    Permalink

    This object represents a sticker set.

    This object represents a sticker set.

    name

    String Sticker set name

    title

    String Sticker set title

    isAnimated

    Boolean True, if the sticker set contains animated stickers

    containsMasks

    Boolean True, if the sticker set contains masks

    stickers

    Array of Sticker List of all set stickers

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

    Permalink

    This object contains basic information about a successful payment.

    This object contains basic information about a successful payment.

    currency

    String Three-letter ISO 4217 currency code

    totalAmount

    Integer 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

    String Bot specified invoice payload

    shippingOptionId

    String Optional. Identifier of the shipping option chosen by the user

    orderInfo

    OrderInfo Optional. Order info provided by the user

    telegramPaymentChargeId

    String Telegram payment identifier

    providerPaymentChargeId

    String Provider payment identifier

  76. case class Update(updateId: Long, message: Option[Message] = None, editedMessage: Option[Message] = None, channelPost: Option[Message] = None, editedChannelPost: Option[Message] = None, inlineQuery: Option[InlineQuery] = None, chosenInlineResult: Option[ChosenInlineResult] = None, callbackQuery: Option[CallbackQuery] = None, shippingQuery: Option[ShippingQuery] = None, preCheckoutQuery: Option[PreCheckoutQuery] = None, poll: Option[Poll] = None) extends Product with Serializable

    Permalink

    This object represents an incoming update.

    This object represents an incoming update. At most one of the optional parameters can be present in any given update.

    updateId

    The update's unique identifier. Update identifiers start from a certain positive number and increase sequentially. This ID becomes especially handy if you're using Webhooks, since it allows you to ignore repeated updates or to restore the correct update sequence, should they get out of order.

    message

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

    editedMessage

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

    channelPost

    Message Optional. New incoming channel post of any kind - text, photo, sticker, etc.

    editedChannelPost

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

    inlineQuery

    InlineQuery Optional New incoming inline query

    chosenInlineResult

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

    callbackQuery

    Optional New incoming callback query

    shippingQuery

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

    preCheckoutQuery

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

    poll

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

  77. case class User(id: Int, isBot: Boolean, firstName: String, lastName: Option[String] = None, username: Option[String] = None, languageCode: Option[String] = None) extends Product with Serializable

    Permalink

    This object represents a Telegram user or bot.

    This object represents a Telegram user or bot.

    id

    Unique identifier for this user or bot

    isBot

    Boolean True, if this user is a bot

    firstName

    User's or bot's first name

    lastName

    Optional User's or bot's last name

    username

    Optional User's or bot's username

    languageCode

    String Optional. IETF language tag of the user's language

  78. case class UserProfilePhotos(totalCount: Int, photos: Seq[Seq[PhotoSize]]) extends Product with Serializable

    Permalink

    This object represent a user's profile pictures.

    This object represent a user's profile pictures.

    totalCount

    Total number of profile pictures the target user has

    photos

    Requested profile pictures (in up to 4 sizes each)

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

    Permalink

    This object represents a venue.

    This object represents a venue.

    location

    Location Venue location

    title

    String Name of the venue

    address

    String Address of the venue

    foursquareId

    String Optional Foursquare identifier of the venue

    foursquareType

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

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

    Permalink

    This object represents a video file.

    This object represents a video file.

    fileId

    Unique identifier for this 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

    Optional Video thumbnail

    mimeType

    Optional Mime type of a file as defined by sender

    fileSize

    Optional File size

  81. case class VideoNote(fileId: String, length: Int, duration: Int, thumb: Option[PhotoSize] = None, fileSize: Option[Int] = None) extends Product with Serializable

    Permalink

    This object represents a video message (available in Telegram apps as of v.4.0).

    This object represents a video message (available in Telegram apps as of v.4.0).

    fileId

    String Unique identifier for this file

    length

    Integer Video width and height as defined by sender

    duration

    Integer Duration of the video in seconds as defined by sender

    thumb

    PhotoSize Optional. Video thumbnail

    fileSize

    Integer Optional. File size

  82. case class Voice(fileId: String, duration: Int, mimeType: Option[String] = None, fileSize: Option[Int] = None) extends Product with Serializable

    Permalink

    This object represents a voice note.

    This object represents a voice note.

    fileId

    Unique identifier for this file

    duration

    Duration of the audio in seconds as defined by sender

    mimeType

    Optional MIME type of the file as defined by sender

    fileSize

    Optional File size

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

    Permalink

    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

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

    lastErrorMessage

    Optional. 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

    Permalink
  2. object ChatId

    Permalink
  3. object ChatType extends Enumeration

    Permalink

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

  4. object CountryCode extends Enumeration

    Permalink

    ISO 3166-1 alpha-2 country codes.

  5. object Currency extends Enumeration

    Permalink

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

  6. object InlineKeyboardButton extends Serializable

    Permalink

    Preferred (safe) way to instantiate InlineKeyboardButton.

    Preferred (safe) way to instantiate InlineKeyboardButton.

    InlineKeyboardButton.callbackData("1990", "#1")
    InlineKeyboardButton.url("Google Google", "http://lmgtfy.com/?q=Google")
  7. object InlineKeyboardMarkup extends Serializable

    Permalink
  8. object InputFile

    Permalink
  9. object KeyboardButton extends Serializable

    Permalink

    Preferred (safe) way to instantiate KeyboardButton.

    Preferred (safe) way to instantiate KeyboardButton.

    KeyBoardButton.text("OK")
    KeyBoardButton.requestLocation("Share location")
    KeyBoardButton.requestContact("Share contact")
  10. object MaskPositionType extends Enumeration

    Permalink

    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".

  11. object MemberStatus extends Enumeration

    Permalink
  12. object MessageEntityType extends Enumeration

    Permalink

    Different types of in-message entities.

  13. object ReplyKeyboardMarkup extends Serializable

    Permalink
  14. object UpdateType extends Enumeration

    Permalink

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

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

Ungrouped