Описание
Изменяет имя пользователя управляемого бизнес-аккаунта. Требует права бизнес-бота 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