Метод setBusinessAccountUsername

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

Описание

Изменяет имя пользователя управляемого бизнес-аккаунта. Требует права бизнес-бота can_change_username. Возвращает True при успехе.

Параметр Тип Обязательный Описание
business_connection_id String Да Уникальный идентификатор бизнес-подключения
username String Опционально Новое значение имени пользователя для бизнес-аккаунта; 0-32 символа

Примеры

php

<?php

$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/";

// Параметры метода
$params = [
    'business_connection_id' => '1234567890', // Уникальный идентификатор бизнес-подключения
    'username' => 'new_business_username'     // Новый username (0-32 символа)
];

// Отправка запроса
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl . 'setBusinessAccountUsername');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
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 "Username успешно изменен!";
} else {
    echo "Ошибка: " . $result['description'];
}

// Альтернативный вариант с использованием file_get_contents
/*
$context = stream_context_create([
    'http' => [
        'method' => 'POST',
        'header' => 'Content-Type: application/x-www-form-urlencoded',
        'content' => http_build_query($params)
    ]
]);

$response = file_get_contents($apiUrl . 'setBusinessAccountUsername', false, $context);
$result = json_decode($response, true);
*/
?>

python

import requests

def set_business_account_username(bot_token, business_connection_id, username=None):
    """
    Changes the username of a managed business account.
    
    Args:
        bot_token (str): Your bot's token
        business_connection_id (str): Unique identifier of the business connection
        username (str, optional): The new username (0-32 characters). Pass None to remove username.
    
    Returns:
        bool: True on success, False otherwise
    """
    url = f"https://api.telegram.org/bot{bot_token}/setBusinessAccountUsername"
    
    payload = {
        "business_connection_id": business_connection_id
    }
    
    if username is not None:
        payload["username"] = username
    
    try:
        response = requests.post(url, json=payload)
        response.raise_for_status()
        result = response.json()
        
        if result.get("ok"):
            return True
        else:
            print(f"Error: {result.get('description')}")
            return False
            
    except requests.exceptions.RequestException as e:
        print(f"Request failed: {e}")
        return False

# Пример использования:
if __name__ == "__main__":
    BOT_TOKEN = "YOUR_BOT_TOKEN"
    BUSINESS_CONNECTION_ID = "your_business_connection_id"
    
    # Установить новый username
    success = set_business_account_username(
        bot_token=BOT_TOKEN,
        business_connection_id=BUSINESS_CONNECTION_ID,
        username="new_business_username"
    )
    
    if success:
        print("Username успешно изменен")
    
    # Удалить username (передав None)
    success = set_business_account_username(
        bot_token=BOT_TOKEN,
        business_connection_id=BUSINESS_CONNECTION_ID,
        username=None
    )
    
    if success:
        print("Username успешно удален")

История изменений

  • API 9.0. Добавлен метод setBusinessAccountUsername
Комментарии