use crate::types::*;
/// Use this method to edit live location messages. A location can be edited until its live_period expires or editing is explicitly disabled by a call to stopMessageLiveLocation. On success, if the edited message was sent by the bot, the edited Message is returned, otherwise True is returned.
#[derive(Debug, Serialize, TelegramApi, Setters, New)]
#[return_type = "MessageOrTrue"]
#[new(vis = "pub")]
#[set(vis = "pub")]
pub struct EditMessageLiveLocation {
/// Required if inline_message_id is not specified. Unique identifier for the target chat or username of the target channel (in the format @channelusername)
#[serde(skip_serializing_if = "Option::is_none")]
pub(crate) chat_id: Option<ChatIdOrUsername>,
/// Required if inline_message_id is not specified. Identifier of the message to edit
#[serde(skip_serializing_if = "Option::is_none")]
pub(crate) message_id: Option<Integer>,
/// Required if chat_id and message_id are not specified. Identifier of the inline message
#[serde(skip_serializing_if = "Option::is_none")]
pub(crate) inline_message_id: Option<String>,
/// Latitude of new location
pub(crate) latitude: Float,
/// Longitude of new location
pub(crate) longitude: Float,
/// A JSON-serialized object for a new inline keyboard.
#[serde(skip_serializing_if = "Option::is_none")]
pub(crate) reply_markup: Option<InlineKeyboardMarkup>,
}