Описание
Используйте этот метод, чтобы получить информацию о пользовательских эмодзи-стикерах по их идентификаторам. Возвращает массив объектов Sticker.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| custom_emoji_ids | Массив строк | Да | JSON-сериализованный список идентификаторов пользовательских эмодзи. Можно указать не более 200 идентификаторов. |
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/";
// Пример идентификаторов кастомных эмодзи
$customEmojiIds = [
'5384589073810966781',
'5384589073810966782'
];
// Подготовка данных
$data = [
'custom_emoji_ids' => json_encode($customEmojiIds)
];
// Отправка запроса
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl . 'getCustomEmojiStickers');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
// Обработка ответа
$result = json_decode($response, true);
if ($result['ok']) {
$stickers = $result['result'];
foreach ($stickers as $sticker) {
echo "ID стикера: " . $sticker['file_id'] . "\n";
echo "Уникальный ID: " . $sticker['file_unique_id'] . "\n";
echo "Тип: " . $sticker['type'] . "\n";
echo "Ширина: " . $sticker['width'] . "\n";
echo "Высота: " . $sticker['height'] . "\n";
echo "Анимированный: " . ($sticker['is_animated'] ? 'Да' : 'Нет') . "\n";
echo "Видео: " . ($sticker['is_video'] ? 'Да' : 'Нет') . "\n";
if (isset($sticker['thumbnail'])) {
echo "Есть миниатюра\n";
}
if (isset($sticker['emoji'])) {
echo "Эмодзи: " . $sticker['emoji'] . "\n";
}
if (isset($sticker['set_name'])) {
echo "Набор: " . $sticker['set_name'] . "\n";
}
if (isset($sticker['premium_animation'])) {
echo "Есть премиум анимация\n";
}
if (isset($sticker['mask_position'])) {
echo "Позиция маски: " . print_r($sticker['mask_position'], true) . "\n";
}
if (isset($sticker['custom_emoji_id'])) {
echo "ID кастомного эмодзи: " . $sticker['custom_emoji_id'] . "\n";
}
echo "Размер файла: " . $sticker['file_size'] . " байт\n";
echo "---\n";
}
} else {
echo "Ошибка: " . $result['description'] . "\n";
}
// Альтернативный вариант с использованием file_get_contents
function getCustomEmojiStickers($emojiIds) {
$botToken = 'YOUR_BOT_TOKEN';
$url = "https://api.telegram.org/bot{$botToken}/getCustomEmojiStickers";
$data = [
'custom_emoji_ids' => $emojiIds
];
$options = [
'http' => [
'header' => "Content-Type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($data)
]
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return json_decode($result, true);
}
// Пример использования функции
$emojiIds = ['5384589073810966781'];
$stickersInfo = getCustomEmojiStickers($emojiIds);
if ($stickersInfo['ok']) {
// Обработка полученных стикеров
foreach ($stickersInfo['result'] as $sticker) {
// Использование данных о стикере
$fileId = $sticker['file_id'];
// ... дальнейшая обработка
}
}
?>
python
import requests
def get_custom_emoji_stickers(bot_token, custom_emoji_ids):
"""
Получает информацию о пользовательских эмодзи-стикерах по их идентификаторам.
Args:
bot_token (str): Токен вашего бота
custom_emoji_ids (list): Список идентификаторов пользовательских эмодзи (максимум 200)
Returns:
list: Список объектов Sticker или пустой список в случае ошибки
"""
url = f"https://api.telegram.org/bot{bot_token}/getCustomEmojiStickers"
# Ограничиваем количество эмодзи до 200 (ограничение API)
if len(custom_emoji_ids) > 200:
custom_emoji_ids = custom_emoji_ids[:200]
payload = {
"custom_emoji_ids": custom_emoji_ids
}
try:
response = requests.post(url, json=payload)
response.raise_for_status()
result = response.json()
if result.get("ok"):
return result.get("result", [])
else:
print(f"Ошибка: {result.get('description')}")
return []
except requests.exceptions.RequestException as e:
print(f"Ошибка при выполнении запроса: {e}")
return []
except ValueError as e:
print(f"Ошибка при обработке JSON: {e}")
return []
# Пример использования
if __name__ == "__main__":
# Замените на ваш токен бота
BOT_TOKEN = "ВАШ_ТОКЕН_БОТА"
# Пример идентификаторов пользовательских эмодзи
# Эти идентификаторы можно получить из сообщений с пользовательскими эмодзи
custom_emoji_ids = [
"AgADAgADw6cxG4VSYESP1Yb1xQABO4hBAAEC",
"AgADAgADxKcxG4VSYESP1Yb1xQABO4hBAAEC",
"AgADAgADxacxG4VSYESP1Yb1xQABO4hBAAEC"
]
# Получаем информацию о стикерах
stickers = get_custom_emoji_stickers(BOT_TOKEN, custom_emoji_ids)
# Выводим результат
if stickers:
print(f"Получено {len(stickers)} стикеров:")
for i, sticker in enumerate(stickers, 1):
print(f"\nСтикер {i}:")
print(f" ID: {sticker.get('file_id')}")
print(f" Уникальный ID: {sticker.get('file_unique_id')}")
print(f" Тип: {sticker.get('type')}")
print(f" Ширина: {sticker.get('width')}")
print(f" Высота: {sticker.get('height')}")
print(f" Анимированный: {sticker.get('is_animated')}")
print(f" Видео: {sticker.get('is_video')}")
# Информация о миниатюре (если есть)
if 'thumbnail' in sticker:
thumb = sticker['thumbnail']
print(f" Миниатюра: {thumb.get('file_id')}")
# Информация о маске (если есть)
if 'mask_position' in sticker:
mask = sticker['mask_position']
print(f" Позиция маски: {mask.get('point')}")
# Размер файла (если есть)
if 'file_size' in sticker:
print(f" Размер файла: {sticker['file_size']} байт")
else:
print("Не удалось получить информацию о стикерах")
История изменений
- API 6.2. Добавлен метод getCustomEmojiStickers
Дополнительно
- Sticker - Объект, представляющий стикер в Telegram, содержащий информацию о его типе, размере, формате и дополнительных характеристиках.