Описание
Удалить сообщения от имени бизнес-аккаунта. Требуется право бизнес-бота can_delete_sent_messages для удаления сообщений, отправленных самим ботом, или право бизнес-бота can_delete_all_messages для удаления любых сообщений. Возвращает True при успешном выполнении.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| business_connection_id | String | Да | Уникальный идентификатор бизнес-подключения, от имени которого удаляются сообщения |
| message_ids | Array of Integer | Да | Список идентификаторов сообщений (1-100) в формате JSON для удаления, где все сообщения должны быть из одного чата. Ограничения на удаляемые сообщения смотрите в deleteMessage |
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/deleteBusinessMessages";
$data = [
'business_connection_id' => 'business_connection_id_here',
'message_ids' => [123, 456, 789] // Array of message IDs to delete (1-100 items)
];
// Using cURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
// Process response
$result = json_decode($response, true);
if ($result['ok']) {
echo "Messages deleted successfully";
} else {
echo "Error: " . $result['description'];
}
// Alternative using file_get_contents with stream context
$options = [
'http' => [
'header' => "Content-Type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($data)
]
];
$context = stream_context_create($options);
$response = file_get_contents($apiUrl, false, $context);
$result = json_decode($response, true);
// Check result
if ($result['ok']) {
echo "Messages deleted successfully";
} else {
echo "Error: " . $result['description'];
}
?>
python
import requests
def delete_business_messages(bot_token, business_connection_id, message_ids):
"""
Delete messages on behalf of a business account.
Args:
bot_token (str): Telegram Bot API token
business_connection_id (str): Unique identifier of the business connection
message_ids (list): List of message IDs to delete (1-100 items)
Returns:
bool: True if successful, False otherwise
"""
url = f"https://api.telegram.org/bot{bot_token}/deleteBusinessMessages"
payload = {
"business_connection_id": business_connection_id,
"message_ids": message_ids
}
try:
response = requests.post(url, json=payload)
response.raise_for_status()
result = response.json()
if result.get("ok"):
return True
else:
print(f"Error: {result.get('description')}")
return False
except requests.exceptions.RequestException as e:
print(f"Request failed: {e}")
return False
except ValueError as e:
print(f"Invalid JSON response: {e}")
return False
# Пример использования
if __name__ == "__main__":
# Конфигурация
BOT_TOKEN = "YOUR_BOT_TOKEN"
BUSINESS_CONNECTION_ID = "your_business_connection_id"
# ID сообщений для удаления (пример)
messages_to_delete = [123, 124, 125]
# Вызов метода
success = delete_business_messages(
bot_token=BOT_TOKEN,
business_connection_id=BUSINESS_CONNECTION_ID,
message_ids=messages_to_delete
)
if success:
print(f"Successfully deleted {len(messages_to_delete)} messages")
else:
print("Failed to delete messages")
История изменений
- API 9.0. Добавлен метод deleteBusinessMessages
Дополнительно
- deleteMessage - Метод для удаления сообщений в чатах с учётом временных ограничений и прав бота.