setBusinessAccountProfilePhoto
Changes the profile photo of a managed business account
Changes the profile photo of a managed business account. Requires the can_edit_profile_photo business bot right. Returns True on success.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
business_connection_id | String | Yes | Unique identifier of the business connection |
photo | InputProfilePhoto | Yes | The new profile photo to set |
is_public | Boolean | Optional | Pass True to set the public photo, which will be visible even if the main photo is hidden by the business account's privacy settings. An account can have only one public photo. |
Example
PHP — Call setBusinessAccountProfilePhoto 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('setBusinessAccountProfilePhoto', [
'business_connection_id' => $userId,
'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.