Описание
Используйте этот метод, чтобы получить текущие права администратора по умолчанию для бота. Возвращает ChatAdministratorRights при успешном выполнении.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| for_channels | Boolean | Необязательный | Передайте True, чтобы получить права администратора по умолчанию для бота в каналах. В противном случае будут возвращены права администратора по умолчанию для бота в группах и супергруппах. |
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/";
// Вариант 1: Получение прав для групп и супергрупп (по умолчанию)
$response1 = getDefaultAdminRights();
// Вариант 2: Получение прав для каналов
$response2 = getDefaultAdminRights(true);
// Функция для получения прав администратора по умолчанию
function getDefaultAdminRights($forChannels = false) {
global $apiUrl;
$data = [];
if ($forChannels !== false) {
$data['for_channels'] = $forChannels;
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl . 'getMyDefaultAdministratorRights');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/x-www-form-urlencoded'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode !== 200) {
throw new Exception("HTTP error: {$httpCode}");
}
return json_decode($response, true);
}
// Пример обработки ответа
try {
$result = getDefaultAdminRights();
if ($result['ok']) {
$rights = $result['result'];
echo "Права администратора по умолчанию:\n";
echo "is_anonymous: " . ($rights['is_anonymous'] ? 'true' : 'false') . "\n";
echo "can_manage_chat: " . ($rights['can_manage_chat'] ? 'true' : 'false') . "\n";
echo "can_delete_messages: " . ($rights['can_delete_messages'] ? 'true' : 'false') . "\n";
echo "can_manage_video_chats: " . ($rights['can_manage_video_chats'] ? 'true' : 'false') . "\n";
echo "can_restrict_members: " . ($rights['can_restrict_members'] ? 'true' : 'false') . "\n";
echo "can_promote_members: " . ($rights['can_promote_members'] ? 'true' : 'false') . "\n";
echo "can_change_info: " . ($rights['can_change_info'] ? 'true' : 'false') . "\n";
echo "can_invite_users: " . ($rights['can_invite_users'] ? 'true' : 'false') . "\n";
if (isset($rights['can_post_messages'])) {
echo "can_post_messages: " . ($rights['can_post_messages'] ? 'true' : 'false') . "\n";
}
if (isset($rights['can_edit_messages'])) {
echo "can_edit_messages: " . ($rights['can_edit_messages'] ? 'true' : 'false') . "\n";
}
if (isset($rights['can_pin_messages'])) {
echo "can_pin_messages: " . ($rights['can_pin_messages'] ? 'true' : 'false') . "\n";
}
} else {
echo "Ошибка: " . $result['description'];
}
} catch (Exception $e) {
echo "Ошибка при выполнении запроса: " . $e->getMessage();
}
// Альтернативный вариант с использованием file_get_contents
function getDefaultAdminRightsSimple($forChannels = false) {
global $apiUrl;
$url = $apiUrl . 'getMyDefaultAdministratorRights';
if ($forChannels !== false) {
$url .= '?for_channels=' . ($forChannels ? 'true' : 'false');
}
$response = file_get_contents($url);
return json_decode($response, true);
}
?>
python
import requests
def get_my_default_administrator_rights(bot_token, for_channels=None):
"""
Получает текущие права администратора по умолчанию для бота
Args:
bot_token (str): Токен вашего бота
for_channels (bool, optional): True - для каналов, False/None - для групп
Returns:
dict: Объект ChatAdministratorRights или None при ошибке
"""
url = f"https://api.telegram.org/bot{bot_token}/getMyDefaultAdministratorRights"
params = {}
if for_channels is not None:
params['for_channels'] = for_channels
try:
response = requests.post(url, json=params)
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'
# Получить права для групп и супергрупп
group_rights = get_my_default_administrator_rights(BOT_TOKEN)
print("Права для групп:", group_rights)
# Получить права для каналов
channel_rights = get_my_default_administrator_rights(BOT_TOKEN, for_channels=True)
print("Права для каналов:", channel_rights)
История изменений
- API 6.0. Добавлен метод getMyDefaultAdministratorRights
Дополнительно
- ChatAdministratorRights - Объект, описывающий права администратора в чате Telegram, включая управление сообщениями, пользователями, настройками и другими функциями.