package org.telegram.telegrambots.api.objects; import com.fasterxml.jackson.annotation.JsonProperty; import org.telegram.telegrambots.api.interfaces.BotApiObject; import org.telegram.telegrambots.api.objects.inlinequery.ChosenInlineQuery; import org.telegram.telegrambots.api.objects.inlinequery.InlineQuery; /** * @author Ruben Bermudez * @version 1.0 * @brief This object represents an incoming update. * Only one of the optional parameters can be present in any given update. * @date 20 of June of 2015 */ public class Update implements BotApiObject { private static final String UPDATEID_FIELD = "update_id"; private static final String MESSAGE_FIELD = "message"; private static final String INLINEQUERY_FIELD = "inline_query"; private static final String CHOSENINLINEQUERY_FIELD = "chosen_inline_result"; private static final String CALLBACKQUERY_FIELD = "callback_query"; private static final String EDITEDMESSAGE_FIELD = "edited_message"; private static final String CHANNELPOST_FIELD = "channel_post"; private static final String EDITEDCHANNELPOST_FIELD = "edited_channel_post"; @JsonProperty(UPDATEID_FIELD) private Integer updateId; @JsonProperty(MESSAGE_FIELD) private Message message; ///< Optional. New incoming message of any kind — text, photo, sticker, etc. @JsonProperty(INLINEQUERY_FIELD) private InlineQuery inlineQuery; ///< Optional. New incoming inline query @JsonProperty(CHOSENINLINEQUERY_FIELD) private ChosenInlineQuery chosenInlineQuery; ///< Optional. The result of a inline query that was chosen by a user and sent to their chat partner @JsonProperty(CALLBACKQUERY_FIELD) private CallbackQuery callbackQuery; ///< Optional. New incoming callback query @JsonProperty(EDITEDMESSAGE_FIELD) private Message editedMessage; ///< Optional. New version of a message that is known to the bot and was edited @JsonProperty(CHANNELPOST_FIELD) private Message channelPost; ///< Optional. New incoming channel post of any kind — text, photo, sticker, etc. @JsonProperty(EDITEDCHANNELPOST_FIELD) private Message editedChannelPost; ///< Optional. New version of a channel post that is known to the bot and was edited public Update() { super(); } public Integer getUpdateId() { return updateId; } public Message getMessage() { return message; } public InlineQuery getInlineQuery() { return inlineQuery; } public ChosenInlineQuery getChosenInlineQuery() { return chosenInlineQuery; } public CallbackQuery getCallbackQuery() { return callbackQuery; } public Message getEditedMessage() { return editedMessage; } public Message getChannelPost() { return channelPost; } public Message getEditedChannelPost() { return editedChannelPost; } public boolean hasMessage() { return message != null; } public boolean hasInlineQuery() { return inlineQuery != null; } public boolean hasChosenInlineQuery() { return chosenInlineQuery != null; } public boolean hasCallbackQuery() { return callbackQuery != null; } public boolean hasEditedMessage() { return editedMessage != null; } public boolean hasChannelPost() { return channelPost != null; } public boolean hasEditedChannelPost() { return editedChannelPost != null; } @Override public String toString() { return "Update{" + "updateId=" + updateId + ", message=" + message + ", inlineQuery=" + inlineQuery + ", chosenInlineQuery=" + chosenInlineQuery + ", callbackQuery=" + callbackQuery + ", editedMessage=" + editedMessage + ", channelPost=" + channelPost + ", editedChannelPost=" + editedChannelPost + '}'; } }