Описание
Отмечает входящее сообщение как прочитанное от имени бизнес-аккаунта. Требует право бизнес-бота can_read_messages. Возвращает True при успехе.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| business_connection_id | String | Да | Уникальный идентификатор бизнес-подключения, от имени которого следует отметить сообщение как прочитанное |
| chat_id | Integer | Да | Уникальный идентификатор чата, в котором было получено сообщение. Чат должен был быть активен в последние 24 часа. |
| message_id | Integer | Да | Уникальный идентификатор сообщения, которое нужно отметить как прочитанное |
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/";
// Параметры для метода readBusinessMessage
$params = [
'business_connection_id' => 'business_connection_id_example',
'chat_id' => 123456789,
'message_id' => 987654321
];
// Отправка запроса
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl . 'readBusinessMessage');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
// Обработка ответа
$result = json_decode($response, true);
if ($result['ok']) {
echo "Сообщение успешно отмечено как прочитанное\n";
} else {
echo "Ошибка: " . $result['description'] . "\n";
}
// Альтернативный вариант с использованием file_get_contents
function markBusinessMessageAsRead($botToken, $businessConnectionId, $chatId, $messageId) {
$url = "https://api.telegram.org/bot{$botToken}/readBusinessMessage";
$data = [
'business_connection_id' => $businessConnectionId,
'chat_id' => $chatId,
'message_id' => $messageId
];
$options = [
'http' => [
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
],
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return json_decode($result, true);
}
// Пример использования функции
$result = markBusinessMessageAsRead(
'YOUR_BOT_TOKEN',
'business_connection_id_example',
123456789,
987654321
);
if ($result['ok']) {
echo "Сообщение отмечено как прочитанное\n";
print_r($result);
}
?>
python
import requests
def read_business_message(bot_token, business_connection_id, chat_id, message_id):
"""
Marks an incoming message as read on behalf of a business account.
Args:
bot_token (str): Your bot's token
business_connection_id (str): Unique identifier of the business connection
chat_id (int): Unique identifier of the chat
message_id (int): Unique identifier of the message to mark as read
Returns:
bool: True if successful, False otherwise
"""
url = f"https://api.telegram.org/bot{bot_token}/readBusinessMessage"
payload = {
"business_connection_id": business_connection_id,
"chat_id": chat_id,
"message_id": message_id
}
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
# Example usage
if __name__ == "__main__":
BOT_TOKEN = "YOUR_BOT_TOKEN"
BUSINESS_CONNECTION_ID = "your_business_connection_id"
CHAT_ID = 123456789
MESSAGE_ID = 42
success = read_business_message(
BOT_TOKEN,
BUSINESS_CONNECTION_ID,
CHAT_ID,
MESSAGE_ID
)
if success:
print("Message marked as read successfully")
else:
print("Failed to mark message as read")
История изменений
- API 9.0. Добавлен метод readBusinessMessage