package org.telegram.telegrambots.api.objects.inlinequery.result; import com.fasterxml.jackson.annotation.JsonProperty; import org.telegram.telegrambots.api.objects.inlinequery.inputmessagecontent.InputMessageContent; import org.telegram.telegrambots.api.objects.replykeyboard.InlineKeyboardMarkup; import org.telegram.telegrambots.exceptions.TelegramApiValidationException; /** * @author Ruben Bermudez * @version 1.0 * @brief 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. * @date 01 of January of 2016 */ public class InlineQueryResultMpeg4Gif implements InlineQueryResult { private static final String TYPE_FIELD = "type"; private static final String ID_FIELD = "id"; private static final String MPEG4URL_FIELD = "mpeg4_url"; private static final String MPEG4WIDTH_FIELD = "mpeg4_width"; private static final String MPEG4HEIGHT_FIELD = "mpeg4_height"; private static final String THUMBURL_FIELD = "thumb_url"; private static final String TITLE_FIELD = "title"; private static final String CAPTION_FIELD = "caption"; private static final String INPUTMESSAGECONTENT_FIELD = "input_message_content"; private static final String REPLY_MARKUP_FIELD = "reply_markup"; @JsonProperty(TYPE_FIELD) private final String type = "mpeg4_gif"; ///< Type of the result, must be "mpeg4_gif" @JsonProperty(ID_FIELD) private String id; ///< Unique identifier of this result, 1-64 bytes @JsonProperty(MPEG4URL_FIELD) private String mpeg4Url; ///< A valid URL for the MP4 file. File size must not exceed 1MB @JsonProperty(MPEG4WIDTH_FIELD) private Integer mpeg4Width; ///< Optional. Video width @JsonProperty(MPEG4HEIGHT_FIELD) private Integer mpeg4Height; ///< Optional. Video height @JsonProperty(THUMBURL_FIELD) private String thumbUrl; ///< Optional. URL of the static thumbnail (jpeg or gif) for the result @JsonProperty(TITLE_FIELD) private String title; ///< Optional. Title for the result @JsonProperty(CAPTION_FIELD) private String caption; ///< Optional. Caption of the MPEG-4 file to be sent @JsonProperty(INPUTMESSAGECONTENT_FIELD) private InputMessageContent inputMessageContent; ///< Optional. Content of the message to be sent instead of the photo @JsonProperty(REPLY_MARKUP_FIELD) private InlineKeyboardMarkup replyMarkup; ///< Optional. Inline keyboard attached to the message public InlineQueryResultMpeg4Gif() { super(); } public String getType() { return type; } public String getId() { return id; } public InlineQueryResultMpeg4Gif setId(String id) { this.id = id; return this; } public String getMpeg4Url() { return mpeg4Url; } public InlineQueryResultMpeg4Gif setMpeg4Url(String mpeg4Url) { this.mpeg4Url = mpeg4Url; return this; } public Integer getMpeg4Width() { return mpeg4Width; } public InlineQueryResultMpeg4Gif setMpeg4Width(Integer mpeg4Width) { this.mpeg4Width = mpeg4Width; return this; } public Integer getMpeg4Height() { return mpeg4Height; } public InlineQueryResultMpeg4Gif setMpeg4Height(Integer mpeg4Height) { this.mpeg4Height = mpeg4Height; return this; } public String getThumbUrl() { return thumbUrl; } public InlineQueryResultMpeg4Gif setThumbUrl(String thumbUrl) { this.thumbUrl = thumbUrl; return this; } public String getTitle() { return title; } public InlineQueryResultMpeg4Gif setTitle(String title) { this.title = title; return this; } public String getCaption() { return caption; } public InlineQueryResultMpeg4Gif setCaption(String caption) { this.caption = caption; return this; } public InputMessageContent getInputMessageContent() { return inputMessageContent; } public InlineQueryResultMpeg4Gif setInputMessageContent(InputMessageContent inputMessageContent) { this.inputMessageContent = inputMessageContent; return this; } public InlineKeyboardMarkup getReplyMarkup() { return replyMarkup; } public InlineQueryResultMpeg4Gif setReplyMarkup(InlineKeyboardMarkup replyMarkup) { this.replyMarkup = replyMarkup; return this; } @Override public void validate() throws TelegramApiValidationException { if (id == null || id.isEmpty()) { throw new TelegramApiValidationException("ID parameter can't be empty", this); } if (mpeg4Url == null || mpeg4Url.isEmpty()) { throw new TelegramApiValidationException("Mpeg4Url parameter can't be empty", this); } if (inputMessageContent != null) { inputMessageContent.validate(); } if (replyMarkup != null) { replyMarkup.validate(); } } @Override public String toString() { return "InlineQueryResultMpeg4Gif{" + "type='" + type + '\'' + ", id='" + id + '\'' + ", mpeg4Url='" + mpeg4Url + '\'' + ", mpeg4Width=" + mpeg4Width + ", mpeg4Height=" + mpeg4Height + ", thumbUrl='" + thumbUrl + '\'' + ", title='" + title + '\'' + ", caption='" + caption + '\'' + ", inputMessageContent='" + inputMessageContent + '\'' + ", replyMarkup='" + replyMarkup + '\'' + '}'; } }