deleteMessage

Raw MD
Use this method to delete a message, including service messages, with the following limitations: - A message can only be deleted if it was s
Botlify Native Shorthand:
tg_delete($chatId, $messageId);
Deletes a message instantly from any chat or channel. See Native Helpers Guide.

Use this method to delete a message, including service messages, with the following limitations:

- A message can only be deleted if it was sent less than 48 hours ago.

- Service messages about a supergroup, channel, or forum topic creation can't be deleted.

- A dice message in a private chat can only be deleted if it was sent more than 24 hours ago.

- Bots can delete outgoing messages in private chats, groups, and supergroups.

- Bots can delete incoming messages in private chats.

- Bots granted can_post_messages permissions can delete outgoing messages in channels.

- If the bot is an administrator of a group, it can delete any message there.

- If the bot has can_delete_messages administrator right in a supergroup or a channel, it can delete any message there.

- If the bot has can_manage_direct_messages administrator right in a channel, it can delete any message in the corresponding direct messages chat.

Returns True on success.

Parameters

ParameterTypeRequiredDescription
chat_idInteger or StringYesUnique identifier for the target chat or username of the target bot, supergroup or channel in the format @username
message_idIntegerYesIdentifier of the message to delete

Example

PHP — Call deleteMessage 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('deleteMessage', [
    'chat_id' => $chatId,
    'message_id' => $messageId,
]);

if ($resp['ok'] ?? false) {
    $result = $resp['result']; // handle the response
}
Botlify Cloud Runtime
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.