Описание
Используйте этот метод, чтобы изменить права администратора по умолчанию, запрашиваемые ботом при его добавлении в качестве администратора в группы или каналы. Эти права будут предложены пользователям, но они могут свободно изменить список перед добавлением бота. Возвращает True при успешном выполнении.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| rights | ChatAdministratorRights | Необязательный | Объект в формате JSON, описывающий новые права администратора по умолчанию. Если не указан, права администратора по умолчанию будут сброшены. |
| for_channels | Boolean | Необязательный | Передайте True, чтобы изменить права администратора по умолчанию для бота в каналах. В противном случае будут изменены права администратора по умолчанию для бота в группах и супергруппах. |
Примеры
php
<?php
// Токен вашего бота
$botToken = 'ВАШ_ТОКЕН_БОТА';
// URL API Telegram
$apiUrl = "https://api.telegram.org/bot{$botToken}/";
// 1. Пример: Установка прав администратора по умолчанию для групп
$rightsForGroups = [
'rights' => [
'is_anonymous' => false,
'can_manage_chat' => true,
'can_delete_messages' => true,
'can_manage_video_chats' => true,
'can_restrict_members' => true,
'can_promote_members' => false,
'can_change_info' => true,
'can_invite_users' => true,
'can_post_messages' => false, // Неприменимо для групп
'can_edit_messages' => false, // Неприменимо для групп
'can_pin_messages' => true,
'can_manage_topics' => false // Только для супергрупп с темами
],
'for_channels' => false
];
// 2. Пример: Установка прав администратора по умолчанию для каналов
$rightsForChannels = [
'rights' => [
'is_anonymous' => false,
'can_manage_chat' => true,
'can_delete_messages' => true,
'can_manage_video_chats' => false, // Неприменимо для каналов
'can_restrict_members' => false, // Неприменимо для каналов
'can_promote_members' => false, // Неприменимо для каналов
'can_change_info' => true,
'can_invite_users' => true,
'can_post_messages' => true, // Важно для каналов
'can_edit_messages' => true, // Важно для каналов
'can_pin_messages' => true,
'can_manage_topics' => false // Неприменимо для каналов
],
'for_channels' => true
];
// 3. Пример: Сброс прав по умолчанию (очистка)
$resetRights = [
'rights' => null,
'for_channels' => false // или true для каналов
];
// Функция для отправки запроса
function setDefaultAdminRights($params) {
global $apiUrl;
$url = $apiUrl . 'setMyDefaultAdministratorRights';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
// Пример использования:
// Установка прав для групп
$result1 = setDefaultAdminRights($rightsForGroups);
if ($result1['ok']) {
echo "Права для групп успешно установлены\n";
} else {
echo "Ошибка: " . $result1['description'] . "\n";
}
// Установка прав для каналов
$result2 = setDefaultAdminRights($rightsForChannels);
if ($result2['ok']) {
echo "Права для каналов успешно установлены\n";
} else {
echo "Ошибка: " . $result2['description'] . "\n";
}
// Альтернативный вариант с использованием file_get_contents
function setDefaultAdminRightsSimple($params) {
global $apiUrl;
$url = $apiUrl . 'setMyDefaultAdministratorRights';
$options = [
'http' => [
'header' => "Content-Type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($params)
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
return json_decode($response, true);
}
// Пример с минимальными правами
$minimalRights = [
'rights' => [
'can_delete_messages' => true,
'can_invite_users' => true
],
'for_channels' => false
];
$result3 = setDefaultAdminRightsSimple($minimalRights);
if ($result3['ok']) {
echo "Минимальные права установлены\n";
}
?>
python
import requests
def set_my_default_administrator_rights(bot_token, rights=None, for_channels=None):
"""
Изменяет права администратора по умолчанию для бота
:param bot_token: Токен бота
:param rights: ChatAdministratorRights объект (опционально)
:param for_channels: True для каналов, False для групп (опционально)
:return: Результат запроса
"""
url = f"https://api.telegram.org/bot{bot_token}/setMyDefaultAdministratorRights"
payload = {}
if rights is not None:
payload['rights'] = rights
if for_channels is not None:
payload['for_channels'] = for_channels
response = requests.post(url, json=payload)
return response.json()
# Пример использования 1: Установка прав для групп
group_rights = {
"is_anonymous": False,
"can_manage_chat": True,
"can_delete_messages": True,
"can_manage_video_chats": False,
"can_restrict_members": True,
"can_promote_members": False,
"can_change_info": True,
"can_invite_users": True,
"can_post_messages": False,
"can_edit_messages": False,
"can_pin_messages": True,
"can_manage_topics": False
}
# Устанавливаем права по умолчанию для групп
result = set_my_default_administrator_rights(
bot_token="ВАШ_ТОКЕН_БОТА",
rights=group_rights,
for_channels=False
)
# Пример использования 2: Установка прав для каналов
channel_rights = {
"is_anonymous": False,
"can_manage_chat": True,
"can_delete_messages": True,
"can_manage_video_chats": False,
"can_restrict_members": False,
"can_promote_members": False,
"can_change_info": True,
"can_invite_users": True,
"can_post_messages": True, # Важно для каналов
"can_edit_messages": True, # Важно для каналов
"can_pin_messages": True,
"can_manage_topics": False
}
# Устанавливаем права по умолчанию для каналов
result = set_my_default_administrator_rights(
bot_token="ВАШ_ТОКЕН_БОТА",
rights=channel_rights,
for_channels=True
)
# Пример использования 3: Очистка прав (установка значений по умолчанию)
result = set_my_default_administrator_rights(
bot_token="ВАШ_ТОКЕН_БОТА"
)
История изменений
- API 6.0. Добавлен метод setMyDefaultAdministratorRights
Дополнительно
- ChatAdministratorRights - Объект, описывающий права администратора в чате Telegram, включая управление сообщениями, пользователями, настройками и другими функциями.