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
)