action telegram_post_edit_message_live_location { label: "post_editMessageLiveLocation" description: "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](https://core.telegram.org/bots/api/#stopmessagelivelocation). On success, if the edited message is not an inline message, the edited [Message](https://core.telegram.org/bots/api/#message) is returned, otherwise *True* is returned." provider: telegram method: POST path: "/editMessageLiveLocation" encoding: form input: { type: "object" required: ["latitude", "longitude"] properties: { chat_id: { description: "Required if *inline\\_message\\_id* is not specified. Unique identifier for the target chat or username of the target channel (in the format `@channelusername`)" type: "object" } heading: { type: "integer" description: "Direction in which the user is moving, in degrees. Must be between 1 and 360 if specified." } horizontal_accuracy: { type: "number" description: "The radius of uncertainty for the location, measured in meters; 0-1500" } inline_message_id: { type: "string" description: "Required if *chat\\_id* and *message\\_id* are not specified. Identifier of the inline message" } latitude: { type: "number" description: "Latitude of new location" } longitude: { type: "number" description: "Longitude of new location" } message_id: { type: "integer" description: "Required if *inline\\_message\\_id* is not specified. Identifier of the message to edit" } proximity_alert_radius: { type: "integer" description: "Maximum distance for proximity alerts about approaching another chat member, in meters. Must be between 1 and 100000 if specified." } reply_markup: { type: "object" description: "This object represents an [inline keyboard](https://core.telegram.org/bots#inline-keyboards-and-on-the-fly-updating) that appears right next to the message it belongs to." required: ["inline_keyboard"] properties: { inline_keyboard: { type: "array" description: "Array of button rows, each represented by an Array of [InlineKeyboardButton](https://core.telegram.org/bots/api/#inlinekeyboardbutton) objects" items: { type: "array" items: { type: "object" description: "This object represents one button of an inline keyboard. You **must** use exactly one of the optional fields." required: ["text"] properties: { callback_data: { type: "string" description: "*Optional*. Data to be sent in a [callback query](https://core.telegram.org/bots/api/#callbackquery) to the bot when button is pressed, 1-64 bytes" } callback_game: { description: "A placeholder, currently holds no information. Use [BotFather](https://t.me/botfather) to set up your game." type: "object" } login_url: { type: "object" description: "This object represents a parameter of the inline keyboard button used to automatically authorize a user. Serves as a great replacement for the [Telegram Login Widget](https://core.telegram.org/widgets/login) when the user is coming from Telegram. All the user needs to do is tap/click a button and confirm that they want to log in:\n\nTelegram apps support these buttons as of [version 5.7](https://telegram.org/blog/privacy-discussions-web-bots#meet-seamless-web-bots).\n\nSample bot: [@discussbot](https://t.me/discussbot)" required: ["url"] properties: { bot_username: { type: "string" description: "*Optional*. Username of a bot, which will be used for user authorization. See [Setting up a bot](https://core.telegram.org/widgets/login#setting-up-a-bot) for more details. If not specified, the current bot's username will be assumed. The *url*'s domain must be the same as the domain linked with the bot. See [Linking your domain to the bot](https://core.telegram.org/widgets/login#linking-your-domain-to-the-bot) for more details." } forward_text: { type: "string" description: "*Optional*. New text of the button in forwarded messages." } request_write_access: { type: "boolean" description: "*Optional*. Pass True to request the permission for your bot to send messages to the user." } url: { type: "string" description: "An HTTP URL to be opened with user authorization data added to the query string when the button is pressed. If the user refuses to provide authorization data, the original URL without information about the user will be opened. The data added is the same as described in [Receiving authorization data](https://core.telegram.org/widgets/login#receiving-authorization-data). \n\n**NOTE:** You **must** always check the hash of the received data to verify the authentication and the integrity of the data as described in [Checking authorization](https://core.telegram.org/widgets/login#checking-authorization)." } } } pay: { type: "boolean" description: "*Optional*. Specify True, to send a [Pay button](https://core.telegram.org/bots/api/#payments). \n\n**NOTE:** This type of button **must** always be the first button in the first row." } switch_inline_query: { type: "string" description: "*Optional*. If set, pressing the button will prompt the user to select one of their chats, open that chat and insert the bot's username and the specified inline query in the input field. Can be empty, in which case just the bot's username will be inserted. \n\n**Note:** This offers an easy way for users to start using your bot in [inline mode](/bots/inline) when they are currently in a private chat with it. Especially useful when combined with [*switch\\_pm…*](https://core.telegram.org/bots/api/#answerinlinequery) actions – in this case the user will be automatically returned to the chat they switched from, skipping the chat selection screen." } switch_inline_query_current_chat: { type: "string" description: "*Optional*. If set, pressing the button will insert the bot's username and the specified inline query in the current chat's input field. Can be empty, in which case only the bot's username will be inserted. \n\nThis offers a quick way for the user to open your bot in inline mode in the same chat – good for selecting something from multiple options." } text: { type: "string" description: "Label text on the button" } url: { type: "string" description: "*Optional*. HTTP or tg:// url to be opened when button is pressed" } } } } } } } } } output: { type: "object" required: ["ok", "result"] properties: { ok: { type: "boolean" } result: { type: "object" } } } }