Описание
Используйте этот метод для изменения имени бота. Возвращает True при успешном выполнении.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| name | String | Опционально | Новое имя бота; 0-64 символа. Передайте пустую строку, чтобы удалить специальное имя для данного языка. |
| language_code | String | Опционально | Двухбуквенный код языка ISO 639-1. Если пусто, имя будет отображаться всем пользователям, для языка которых нет специального имени. |
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/";
// Пример 1: Установка имени бота для всех языков
$data1 = [
'name' => 'Мой Супер Бот'
];
// Пример 2: Установка имени для конкретного языка
$data2 = [
'name' => 'My Super Bot',
'language_code' => 'en'
];
// Пример 3: Удаление имени для конкретного языка
$data3 = [
'name' => '',
'language_code' => 'ru'
];
// Функция для отправки запроса
function setBotName($data) {
global $apiUrl;
$ch = curl_init($apiUrl . 'setMyName');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
// Использование метода
try {
// Пример 1
$result1 = setBotName(json_encode($data1));
if ($result1['ok']) {
echo "Имя бота успешно обновлено для всех языков\n";
}
// Пример 2
$result2 = setBotName(json_encode($data2));
if ($result2['ok']) {
echo "Имя бота успешно обновлено для английского языка\n";
}
// Пример 3
$result3 = setBotName(json_encode($data3));
if ($result3['ok']) {
echo "Имя бота удалено для русского языка\n";
}
} catch (Exception $e) {
echo "Ошибка: " . $e->getMessage();
}
// Альтернативный вариант с использованием file_get_contents
function setBotNameSimple($data) {
global $apiUrl;
$options = [
'http' => [
'method' => 'POST',
'header' => 'Content-Type: application/json',
'content' => json_encode($data)
]
];
$context = stream_context_create($options);
$response = file_get_contents($apiUrl . 'setMyName', false, $context);
return json_decode($response, true);
}
// Пример с минимальными параметрами
$minimalData = ['name' => 'Новое имя бота'];
$minimalResult = setBotName(json_encode($minimalData));
python
import requests
def set_my_name(bot_token, name=None, language_code=None):
"""
Изменяет имя бота.
:param bot_token: Токен вашего бота
:param name: Новое имя бота (0-64 символа). Пустая строка удаляет имя для указанного языка
:param language_code: Код языка (ISO 639-1). Если None, имя применяется ко всем языкам без специального имени
:return: Результат запроса в формате JSON
"""
url = f"https://api.telegram.org/bot{bot_token}/setMyName"
params = {}
if name is not None:
params['name'] = name
if language_code is not None:
params['language_code'] = language_code
response = requests.post(url, json=params)
return response.json()
# Пример использования
if __name__ == "__main__":
# Замените 'YOUR_BOT_TOKEN' на реальный токен вашего бота
BOT_TOKEN = 'YOUR_BOT_TOKEN'
# Пример 1: Установка имени для всех языков
result1 = set_my_name(BOT_TOKEN, name="Мой крутой бот")
print(f"Результат 1: {result1}")
# Пример 2: Установка имени для конкретного языка
result2 = set_my_name(BOT_TOKEN, name="My Cool Bot", language_code="en")
print(f"Результат 2: {result2}")
# Пример 3: Удаление имени для конкретного языка
result3 = set_my_name(BOT_TOKEN, name="", language_code="en")
print(f"Результат 3: {result3}")
История изменений
- API 6.7. Добавлен метод setMyName