Описание
Используйте этот метод, чтобы получить пользовательские стикеры-эмодзи, которые любой пользователь может использовать в качестве иконки темы форума. Не требует параметров. Возвращает массив объектов 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, содержащий информацию о его типе, размере, формате и дополнительных характеристиках.