Метод getMyDefaultAdministratorRights

Метод для получения текущих прав администратора по умолчанию бота в каналах или группах.

Описание

Используйте этот метод, чтобы получить текущие права администратора по умолчанию для бота. Возвращает 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, включая управление сообщениями, пользователями, настройками и другими функциями.
Комментарии