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

telegramium.bots.client.SendVideoReq.scala Maven / Gradle / Ivy

package telegramium.bots.client

import telegramium.bots.ChatId
import telegramium.bots.IFile
import telegramium.bots.ParseMode
import telegramium.bots.MessageEntity
import telegramium.bots.ReplyParameters
import telegramium.bots.KeyboardMarkup

/** @param chatId
  *   Unique identifier for the target chat or username of the target channel (in the format @channelusername)
  * @param video
  *   Video to send. Pass a file_id as String to send a video that exists on the Telegram servers (recommended), pass an
  *   HTTP URL as a String for Telegram to get a video from the Internet, or upload a new video using
  *   multipart/form-data.
  * @param businessConnectionId
  *   Unique identifier of the business connection on behalf of which the message will be sent
  * @param messageThreadId
  *   Unique identifier for the target message thread (topic) of the forum; for forum supergroups only
  * @param duration
  *   Duration of sent video in seconds
  * @param width
  *   Video width
  * @param height
  *   Video height
  * @param thumbnail
  *   Thumbnail of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The
  *   thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed
  *   320. 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://” if the thumbnail was uploaded using
  *   multipart/form-data under .
  * @param caption
  *   Video caption (may also be used when resending videos by file_id), 0-1024 characters after entities parsing
  * @param parseMode
  *   Mode for parsing entities in the video caption. See formatting options for more details.
  * @param captionEntities
  *   A JSON-serialized list of special entities that appear in the caption, which can be specified instead of
  *   parse_mode
  * @param showCaptionAboveMedia
  *   Pass True, if the caption must be shown above the message media
  * @param hasSpoiler
  *   Pass True if the video needs to be covered with a spoiler animation
  * @param supportsStreaming
  *   Pass True if the uploaded video is suitable for streaming
  * @param disableNotification
  *   Sends the message silently. Users will receive a notification with no sound.
  * @param protectContent
  *   Protects the contents of the sent message from forwarding and saving
  * @param messageEffectId
  *   Unique identifier of the message effect to be added to the message; for private chats only
  * @param replyParameters
  *   Description of the message to reply to
  * @param replyMarkup
  *   Additional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions
  *   to remove a reply keyboard or to force a reply from the user
  */
final case class SendVideoReq(
  chatId: ChatId,
  video: IFile,
  businessConnectionId: Option[String] = Option.empty,
  messageThreadId: Option[Int] = Option.empty,
  duration: Option[Int] = Option.empty,
  width: Option[Int] = Option.empty,
  height: Option[Int] = Option.empty,
  thumbnail: Option[IFile] = Option.empty,
  caption: Option[String] = Option.empty,
  parseMode: Option[ParseMode] = Option.empty,
  captionEntities: List[MessageEntity] = List.empty,
  showCaptionAboveMedia: Option[Boolean] = Option.empty,
  hasSpoiler: Option[Boolean] = Option.empty,
  supportsStreaming: Option[Boolean] = Option.empty,
  disableNotification: Option[Boolean] = Option.empty,
  protectContent: Option[Boolean] = Option.empty,
  messageEffectId: Option[String] = Option.empty,
  replyParameters: Option[ReplyParameters] = Option.empty,
  replyMarkup: Option[KeyboardMarkup] = Option.empty
)




© 2015 - 2024 Weber Informatics LLC | Privacy Policy