sendLivePhoto
Use this method to send live photos
Use this method to send live photos. On success, the sent Message is returned.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
business_connection_id | String | Optional | Unique identifier of the business connection on behalf of which the message will be sent |
chat_id | Integer or String | Yes | Unique identifier for the target chat or username of the target channel (in the format @channelusername) |
message_thread_id | Integer | Optional | Unique identifier for the target message thread (topic) of a forum; for forum supergroups and private chats of bots with forum topic mode enabled only |
direct_messages_topic_id | Integer | Optional | Identifier of the direct messages topic to which the message will be sent; required if the message is sent to a direct messages chat |
ephemeral_message_parameters | EphemeralMessageParameters | Optional | A JSON-serialized object containing the parameters of the ephemeral message to send |
live_photo | InputFile or String | Yes | Live photo video to send. The video must be no longer than 10 seconds and must not exceed 10 MB in size. Pass a file_id as String to send a video that exists on the Telegram servers (recommended) or upload a new video using multipart/form-data. More information on Sending Files ». Sending live photos by a URL is currently unsupported. |
photo | InputFile or String | Yes | The static photo to send. Pass a file_id as String to send a photo that exists on the Telegram servers (recommended) or upload a new video using multipart/form-data. More information on Sending Files ». Sending live photos by a URL is currently unsupported. |
caption | String | Optional | Video caption (may also be used when resending videos by file_id), 0-1024 characters after entities parsing |
parse_mode | String | Optional | Mode for parsing entities in the video caption. See formatting options for more details. |
caption_entities | Array of MessageEntity | Optional | A JSON-serialized list of special entities that appear in the caption, which can be specified instead of parse_mode |
show_caption_above_media | Boolean | Optional | Pass True if the caption must be shown above the message media |
has_spoiler | Boolean | Optional | Pass True if the video needs to be covered with a spoiler animation |
disable_notification | Boolean | Optional | Sends the message silently. Users will receive a notification with no sound. |
protect_content | Boolean | Optional | Protects the contents of the sent message from forwarding and saving |
allow_paid_broadcast | Boolean | Optional | Pass True to allow up to 1000 messages per second, ignoring broadcasting limits for a fee of 0.1 Telegram Stars per message. The relevant Stars will be withdrawn from the bot's balance. |
message_effect_id | String | Optional | Unique identifier of the message effect to be added to the message; for private chats only |
suggested_post_parameters | SuggestedPostParameters | Optional | A JSON-serialized object containing the parameters of the suggested post to send; for direct messages chats only. If the message is sent as a reply to another suggested post, then that suggested post is automatically declined. |
reply_parameters | ReplyParameters | Optional | Description of the message to reply to |
reply_markup | InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove or ForceReply | Optional | Additional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove a reply keyboard or to force a reply from the user. |
Example
PHP — Call sendLivePhoto on Botlify Cloud
<?php
// ── Botlify Cloud .env — auto-injected, never hardcode secrets ──
$BOT_TOKEN = getenv('BOT_TOKEN'); // Telegram bot token from @BotFather
$ADMIN_CHAT_ID = getenv('ADMIN_CHAT_ID'); // Your numeric admin Telegram user ID
$BOT_USERNAME = getenv('BOT_USERNAME'); // Bot username without @
$resp = bot('sendLivePhoto', [
'chat_id' => $chatId,
'live_photo' => 'value',
'photo' => 'value',
]);
if ($resp['ok'] ?? false) {
$result = $resp['result']; // handle the response
}Botlify Cloud Runtime
Credentials are auto-injected in
Credentials are auto-injected in
.env — always load them with getenv(): BOT_TOKEN, ADMIN_CHAT_ID, BOT_USERNAME. Main database: database.db (SQLite, WAL mode). Runtime errors: error.log. Quick test: send to $ADMIN_CHAT_ID. Full details: Runtime Reference.