Описание
Используйте этот метод для изменения поисковых ключевых слов, назначенных обычному или пользовательскому эмодзи-стикеру. Стикер должен принадлежать набору стикеров, созданному ботом. Возвращает True при успешном выполнении.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| sticker | String | Да | Идентификатор файла стикера |
| keywords | Array of String | Необязательный | Сериализованный в JSON список из 0-20 поисковых ключевых слов для стикера общей длиной до 64 символов |
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/";
// Данные для метода setStickerKeywords
$stickerFileId = 'CAACAgIAAxkBAAIB...'; // Идентификатор стикера
$keywords = ['funny', 'cat', 'meme', 'lol']; // Ключевые слова для поиска
// Подготовка данных
$postData = [
'sticker' => $stickerFileId,
'keywords' => json_encode($keywords)
];
// Отправка запроса
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl . 'setStickerKeywords');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
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']) {
echo "Ключевые слова успешно обновлены!\n";
} else {
echo "Ошибка: " . $result['description'] . "\n";
}
// Альтернативный вариант с использованием file_get_contents
function setStickerKeywords($sticker, $keywords = []) {
global $botToken;
$url = "https://api.telegram.org/bot{$botToken}/setStickerKeywords";
$data = [
'sticker' => $sticker,
'keywords' => $keywords
];
$options = [
'http' => [
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data)
]
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return json_decode($result, true);
}
// Пример использования функции
$result = setStickerKeywords('CAACAgIAAxkBAAIB...', ['animal', 'pet', 'cute']);
if ($result['ok']) {
echo "Успешно!\n";
}
// Пример с пустым массивом ключевых слов (удаление всех ключевых слов)
$result = setStickerKeywords('CAACAgIAAxkBAAIB...', []);
if ($result['ok']) {
echo "Все ключевые слова удалены!\n";
}
?>
python
import requests
def set_sticker_keywords(bot_token, sticker, keywords=None):
"""
Изменяет ключевые слова для поиска стикера.
:param bot_token: Токен бота
:param sticker: Идентификатор файла стикера
:param keywords: Список ключевых слов (0-20 элементов, до 64 символов суммарно)
:return: Результат запроса
"""
url = f"https://api.telegram.org/bot{bot_token}/setStickerKeywords"
payload = {
"sticker": sticker
}
if keywords is not None:
payload["keywords"] = keywords
response = requests.post(url, json=payload)
return response.json()
# Пример использования
if __name__ == "__main__":
# Замените на реальный токен бота
BOT_TOKEN = "YOUR_BOT_TOKEN"
# Идентификатор стикера (можно получить из сообщения со стикером)
STICKER_FILE_ID = "CAACAgIAAxkBAAIB..."
# Пример ключевых слов для стикера с котиком
KEYWORDS = ["cat", "kitty", "animal", "cute", "pet"]
try:
result = set_sticker_keywords(BOT_TOKEN, STICKER_FILE_ID, KEYWORDS)
print(f"Результат: {result}")
except Exception as e:
print(f"Ошибка: {e}")
История изменений
- API 6.6. Добавлен метод setStickerKeywords