postStory
Posts a story on behalf of a managed business account
Posts a story on behalf of a managed business account. Requires the can_manage_stories business bot right. Returns Story on success.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
business_connection_id | String | Yes | Unique identifier of the business connection |
content | InputStoryContent | Yes | Content of the story |
active_period | Integer | Yes | Period after which the story is moved to the archive, in seconds; must be one of 6 3600, 12 3600, 86400, or 2 * 86400 |
caption | String | Optional | Caption of the story, 0-2048 characters after entities parsing |
parse_mode | String | Optional | Mode for parsing entities in the story 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 |
areas | Array of StoryArea | Optional | A JSON-serialized list of clickable areas to be shown on the story |
post_to_chat_page | Boolean | Optional | Pass True to keep the story accessible after it expires |
protect_content | Boolean | Optional | Pass True if the content of the story must be protected from forwarding and screenshotting |
Example
PHP — Call postStory 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('postStory', [
'business_connection_id' => $userId,
'content' => 'value',
'active_period' => '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.