Метод approveSuggestedPost

Метод одобряет предложенную публикацию в чате прямых сообщений при наличии у бота соответствующих административных прав.

Описание

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

Параметр Тип Обязательный Описание
chat_id Integer Да Уникальный идентификатор целевого чата прямых сообщений
message_id Integer Да Идентификатор сообщения предложенной публикации для одобрения
send_date Integer Опционально Момент времени (Unix timestamp), когда публикация должна быть опубликована; опустите, если дата уже была указана при создании предложенной публикации. Если указано, то дата должна быть не более чем на 2678400 секунд (30 дней) в будущем

Примеры

php

<?php

function approveSuggestedPost($botToken, $chatId, $messageId, $sendDate = null) {
    $url = "https://api.telegram.org/bot{$botToken}/approveSuggestedPost";
    
    $data = [
        'chat_id' => $chatId,
        'message_id' => $messageId
    ];
    
    if ($sendDate !== null) {
        $data['send_date'] = $sendDate;
    }
    
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json'
    ]);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    if ($httpCode !== 200) {
        throw new Exception("HTTP error: {$httpCode}, response: {$response}");
    }
    
    $result = json_decode($response, true);
    
    if (!$result['ok']) {
        throw new Exception("API error: {$result['description']}");
    }
    
    return $result['result'];
}

// Пример использования
$botToken = 'YOUR_BOT_TOKEN';
$chatId = 123456789; // ID чата с прямыми сообщениями
$messageId = 42; // ID сообщения с предложенным постом
$sendDate = time() + 86400; // Отправить через 24 часа (опционально)

try {
    $result = approveSuggestedPost($botToken, $chatId, $messageId, $sendDate);
    echo "Пост успешно одобрен: " . ($result ? 'true' : 'false');
} catch (Exception $e) {
    echo "Ошибка: " . $e->getMessage();
}

?>

python

import requests

def approve_suggested_post(bot_token, chat_id, message_id, send_date=None):
    """
    Approves a suggested post in a direct messages chat.
    
    Parameters:
    - bot_token (str): Your bot's token
    - chat_id (int): Unique identifier for the target direct messages chat
    - message_id (int): Identifier of a suggested post message to approve
    - send_date (int, optional): Unix timestamp when the post should be published
    
    Returns:
    - bool: True on success, False on failure
    """
    url = f"https://api.telegram.org/bot{bot_token}/approveSuggestedPost"
    
    payload = {
        "chat_id": chat_id,
        "message_id": message_id
    }
    
    if send_date is not None:
        payload["send_date"] = send_date
    
    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"
    CHAT_ID = 123456789
    MESSAGE_ID = 42
    SEND_DATE = 1672531200  # Unix timestamp (optional)
    
    # Вариант 1: Без указания даты отправки
    success = approve_suggested_post(BOT_TOKEN, CHAT_ID, MESSAGE_ID)
    
    # Вариант 2: С указанием даты отправки
    # success = approve_suggested_post(BOT_TOKEN, CHAT_ID, MESSAGE_ID, SEND_DATE)
    
    if success:
        print("Suggested post approved successfully!")
    else:
        print("Failed to approve suggested post.")

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

  • API 9.2. Добавлен метод approveSuggestedPost
Комментарии