Описание
Используйте этот метод, чтобы установить новый набор стикеров для супергруппы. Бот должен быть администратором в чате для работы этого метода и иметь соответствующие права администратора. Используйте поле can_set_sticker_set, опционально возвращаемое в запросах getChat, чтобы проверить, может ли бот использовать этот метод. Возвращает True при успешном выполнении.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| chat_id | Целое число или строка | Да | Уникальный идентификатор целевого чата или имя пользователя целевой супергруппы (в формате @supergroupusername) |
| sticker_set_name | Строка | Да | Название набора стикеров, который будет установлен как набор стикеров группы |
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$chatId = '@supergroupusername'; // или числовой ID чата
$stickerSetName = 'MyStickerSetName';
$apiUrl = "https://api.telegram.org/bot{$botToken}/setChatStickerSet";
$data = [
'chat_id' => $chatId,
'sticker_set_name' => $stickerSetName
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
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']) {
echo "Стикер-пак успешно установлен для группы!";
} else {
echo "Ошибка: " . $result['description'];
}
// Альтернативный вариант с file_get_contents
/*
$options = [
'http' => [
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => http_build_query($data)
]
];
$context = stream_context_create($options);
$response = file_get_contents($apiUrl, false, $context);
$result = json_decode($response, true);
*/
python
import requests
def set_chat_sticker_set(bot_token, chat_id, sticker_set_name):
"""
Устанавливает новый набор стикеров для супергруппы.
Args:
bot_token (str): Токен вашего бота
chat_id (int | str): ID чата или username супергруппы
sticker_set_name (str): Название набора стикеров
Returns:
bool: True в случае успеха, иначе False
"""
url = f"https://api.telegram.org/bot{bot_token}/setChatStickerSet"
payload = {
"chat_id": chat_id,
"sticker_set_name": sticker_set_name
}
try:
response = requests.post(url, json=payload)
response.raise_for_status()
result = response.json()
if result.get("ok"):
return True
else:
print(f"Ошибка: {result.get('description')}")
return False
except requests.exceptions.RequestException as e:
print(f"Ошибка запроса: {e}")
return False
# Пример использования:
if __name__ == "__main__":
# Замените значения на реальные
BOT_TOKEN = "ВАШ_ТОКЕН_БОТА"
CHAT_ID = -1001234567890 # или "@supergroupusername"
STICKER_SET_NAME = "MyAwesomeStickers"
success = set_chat_sticker_set(BOT_TOKEN, CHAT_ID, STICKER_SET_NAME)
if success:
print("Набор стикеров успешно установлен!")
else:
print("Не удалось установить набор стикеров")
История изменений
- API 3.4. Добавлен метод setChatStickerSet
Дополнительно
- getChat - Метод для получения актуальной информации о чате, возвращающий объект ChatFullInfo.