Описание
Используйте этот метод для одобрения предложенной публикации в чате прямых сообщений. Бот должен иметь права администратора '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