Метод sendMessageDraft

Этот метод используется для потоковой передачи частичного сообщения пользователю в процессе его генерации, поддерживается только для ботов с включённым режимом топиков форума.

Описание

Используйте этот метод для потоковой передачи частичного сообщения пользователю в процессе его генерации; поддерживается только для ботов с включённым режимом топиков форума. Возвращает True при успешном выполнении.

Параметр Тип Обязательный Описание
chat_id Integer Да Уникальный идентификатор целевого приватного чата
message_thread_id Integer Необязательный Уникальный идентификатор целевого треда сообщений
draft_id Integer Да Уникальный идентификатор черновика сообщения; должен быть ненулевым. Изменения черновиков с одним и тем же идентификатором анимируются
text String Да Текст отправляемого сообщения, 1-4096 символов после обработки entities
parse_mode String Необязательный Режим обработки entities в тексте сообщения. Подробности смотрите в параметрах форматирования.
entities Array of MessageEntity Необязательный JSON-сериализованный список специальных entities, которые встречаются в тексте сообщения; может быть указан вместо parse_mode

Примеры

php

<?php
$botToken = 'ВАШ_ТОКЕН_БОТА';
$apiUrl = "https://api.telegram.org/bot{$botToken}/sendMessageDraft";

// Данные для отправки
$data = [
    'chat_id' => 123456789, // ID приватного чата
    'message_thread_id' => 112233, // ID темы (опционально)
    'draft_id' => 1, // ID черновика (должен быть ненулевым)
    'text' => 'Это частичное сообщение, которое показывается во время генерации...',
    'parse_mode' => 'HTML' // или 'MarkdownV2', 'Markdown'
];

// Отправка запроса
$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);

// Обработка ответа
$result = json_decode($response, true);
if ($result['ok'] ?? false) {
    echo "Черновик успешно отправлен!\n";
} else {
    echo "Ошибка: " . ($result['description'] ?? 'Неизвестная ошибка') . "\n";
}
?>

python

import requests
import json

bot_token = 'ВАШ_ТОКЕН_БОТА'
api_url = f'https://api.telegram.org/bot{bot_token}/sendMessageDraft'

# Данные для отправки
data = {
    'chat_id': 123456789,  # ID приватного чата
    'message_thread_id': 112233,  # ID темы (опционально)
    'draft_id': 1,  # ID черновика (должен быть ненулевым)
    'text': 'Это частичное сообщение, которое показывается во время генерации...',
    'parse_mode': 'HTML'  # или 'MarkdownV2', 'Markdown'
}

# Отправка запроса
response = requests.post(api_url, json=data)

# Обработка ответа
if response.status_code == 200:
    result = response.json()
    if result.get('ok'):
        print("Черновик успешно отправлен!")
    else:
        print(f"Ошибка: {result.get('description', 'Неизвестная ошибка')}")
else:
    print(f"Ошибка HTTP: {response.status_code}")

История изменений

  • API 9.3. Добавлен метод sendMessageDraft

Дополнительно

  • MessageEntity - Объект MessageEntity представляет специальную форматированную сущность в тексте сообщения, такую как упоминания, хэштеги, ссылки или стилизованный текст.
Комментарии