it.auties.whatsapp.model.message.button.ButtonsMessage Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of whatsappweb4j Show documentation
Show all versions of whatsappweb4j Show documentation
Standalone fully-featured Whatsapp Web API for Java and Kotlin
package it.auties.whatsapp.model.message.button;
import com.fasterxml.jackson.annotation.JsonCreator;
import it.auties.protobuf.base.ProtobufMessage;
import it.auties.protobuf.base.ProtobufProperty;
import it.auties.whatsapp.api.Whatsapp;
import it.auties.whatsapp.model.button.base.Button;
import it.auties.whatsapp.model.info.ContextInfo;
import it.auties.whatsapp.model.info.MessageInfo;
import it.auties.whatsapp.model.message.model.ButtonMessage;
import it.auties.whatsapp.model.message.model.ContextualMessage;
import it.auties.whatsapp.model.message.model.MessageType;
import it.auties.whatsapp.model.message.standard.*;
import lombok.*;
import lombok.experimental.Accessors;
import lombok.extern.jackson.Jacksonized;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import static it.auties.protobuf.base.ProtobufType.MESSAGE;
import static it.auties.protobuf.base.ProtobufType.STRING;
import static java.util.Objects.requireNonNullElseGet;
/**
* A model class that represents a message that contains buttons inside
*/
@EqualsAndHashCode(callSuper = true)
@AllArgsConstructor
@Jacksonized
@Data
@Builder
@Accessors(fluent = true)
public final class ButtonsMessage extends ContextualMessage implements ButtonMessage {
/**
* The text attached to this message
*/
@ProtobufProperty(index = 1, type = STRING)
private String headerText;
/**
* The document message attached to this message
*/
@ProtobufProperty(index = 2, type = MESSAGE, implementation = DocumentMessage.class)
private DocumentMessage headerDocument;
/**
* The image message attached to this message
*/
@ProtobufProperty(index = 3, type = MESSAGE, implementation = ImageMessage.class)
private ImageMessage headerImage;
/**
* The video message attached to this message
*/
@ProtobufProperty(index = 4, type = MESSAGE, implementation = VideoMessage.class)
private VideoMessage headerVideo;
/**
* The location message attached to this message
*/
@ProtobufProperty(index = 5, type = MESSAGE, implementation = LocationMessage.class)
private LocationMessage headerLocation;
/**
* The body of this message
*/
@ProtobufProperty(index = 6, type = STRING)
private String body;
/**
* The footer of this message
*/
@ProtobufProperty(index = 7, type = STRING)
private String footer;
/**
* The context info of this message
*/
@ProtobufProperty(index = 8, type = MESSAGE, implementation = ContextInfo.class)
private ContextInfo contextInfo;
/**
* The buttons that this message wraps
*/
@ProtobufProperty(index = 9, type = MESSAGE, implementation = Button.class, repeated = true)
private List
© 2015 - 2024 Weber Informatics LLC | Privacy Policy