Метод setMyName

Метод изменяет имя бота с возможностью указания языка для локализованных имён.

Описание

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