com.orgyflame.springtelegrambotapi.api.object.media.InputMediaAudio Maven / Gradle / Ivy
package com.orgyflame.springtelegrambotapi.api.object.media;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.orgyflame.springtelegrambotapi.api.object.InputFile;
import com.orgyflame.springtelegrambotapi.api.object.MessageEntity;
import com.orgyflame.springtelegrambotapi.exceptions.TelegramApiValidationException;
import lombok.*;
import java.io.File;
import java.io.InputStream;
import java.util.List;
/**
* @author Ruben Bermudez
* @version 4.0.0
*
* Represents an audio file to be treated as music to be sent.
*/
@SuppressWarnings({"unused"})
@JsonDeserialize
@EqualsAndHashCode(callSuper = true)
@Getter
@Setter
@ToString
public class InputMediaAudio extends InputMedia {
public static final String DURATION_FIELD = "duration";
public static final String PERFORMER_FIELD = "performer";
public static final String TITLE_FIELD = "title";
public static final String THUMB_FIELD = "thumb";
private static final String TYPE = "audio";
@JsonProperty(DURATION_FIELD)
private Integer duration; ///< Optional. Duration of the audio in seconds
@JsonProperty(PERFORMER_FIELD)
private String performer; ///< Optional. Performer of the audio
@JsonProperty(TITLE_FIELD)
private String title; ///< Optional. Title of the audio
/**
* 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 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 .
*/
private InputFile thumb;
public InputMediaAudio() {
super();
}
public InputMediaAudio(@NonNull String media) {
super(media);
}
@Builder
public InputMediaAudio(@NonNull String media, String caption, String parseMode, List entities, boolean isNewMedia, String mediaName, File newMediaFile, InputStream newMediaStream, Integer duration, String performer, String title, InputFile thumb) {
super(media, caption, parseMode, entities, isNewMedia, mediaName, newMediaFile, newMediaStream);
this.duration = duration;
this.performer = performer;
this.title = title;
this.thumb = thumb;
}
@Override
public String getType() {
return TYPE;
}
@Override
public void validate() throws TelegramApiValidationException {
super.validate();
}
}