Метод getForumTopicIconStickers

Получение пользовательских стикеров-эмодзи для использования в качестве иконки темы форума.

Описание

Используйте этот метод, чтобы получить пользовательские стикеры-эмодзи, которые любой пользователь может использовать в качестве иконки темы форума. Не требует параметров. Возвращает массив объектов Sticker.

Примеры

php

<?php

$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/getForumTopicIconStickers";

try {
    $response = file_get_contents($apiUrl);
    $result = json_decode($response, true);
    
    if ($result['ok']) {
        $stickers = $result['result'];
        
        foreach ($stickers as $sticker) {
            echo "Sticker ID: " . $sticker['file_id'] . "\n";
            echo "Emoji: " . ($sticker['emoji'] ?? 'N/A') . "\n";
            echo "Type: " . $sticker['type'] . "\n";
            
            if (isset($sticker['custom_emoji_id'])) {
                echo "Custom Emoji ID: " . $sticker['custom_emoji_id'] . "\n";
            }
            
            if (isset($sticker['thumbnail'])) {
                echo "Thumbnail available\n";
            }
            
            echo "---\n";
        }
        
        echo "Total stickers: " . count($stickers) . "\n";
    } else {
        echo "Error: " . $result['description'] . "\n";
    }
    
} catch (Exception $e) {
    echo "Request failed: " . $e->getMessage() . "\n";
}

// Альтернативный вариант с cURL
function getForumTopicIconStickers($botToken) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://api.telegram.org/bot{$botToken}/getForumTopicIconStickers");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    
    $response = curl_exec($ch);
    curl_close($ch);
    
    return json_decode($response, true);
}

// Использование функции
$result = getForumTopicIconStickers($botToken);
if ($result['ok']) {
    // Обработка стикеров
    foreach ($result['result'] as $sticker) {
        // Сохранение информации о стикерах
        file_put_contents('forum_stickers.json', json_encode($result['result'], JSON_PRETTY_PRINT));
        break; // Сохраняем только один раз
    }
}

?>

python

import requests

def get_forum_topic_icon_stickers(bot_token):
    """
    Получает кастомные стикеры-эмодзи для использования в качестве иконок тем форума.
    
    Args:
        bot_token (str): Токен вашего бота
    
    Returns:
        list: Список объектов Sticker или None в случае ошибки
    """
    url = f"https://api.telegram.org/bot{bot_token}/getForumTopicIconStickers"
    
    try:
        response = requests.get(url)
        response.raise_for_status()
        result = response.json()
        
        if result.get('ok'):
            return result.get('result', [])
        else:
            print(f"Ошибка: {result.get('description')}")
            return None
            
    except requests.exceptions.RequestException as e:
        print(f"Ошибка запроса: {e}")
        return None

# Пример использования
if __name__ == "__main__":
    # Замените 'YOUR_BOT_TOKEN' на реальный токен вашего бота
    BOT_TOKEN = 'YOUR_BOT_TOKEN'
    
    stickers = get_forum_topic_icon_stickers(BOT_TOKEN)
    
    if stickers:
        print(f"Получено {len(stickers)} стикеров:")
        for i, sticker in enumerate(stickers, 1):
            print(f"{i}. {sticker.get('emoji', 'Без эмодзи')} - ID: {sticker.get('file_id')}")
    else:
        print("Не удалось получить стикеры")

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

  • API 6.3. Добавлен метод getForumTopicIconStickers

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

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