Описание
Используйте этот метод, чтобы получить текущее имя бота для указанного языка пользователя. Возвращает BotName при успешном выполнении.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| language_code | String | Необязательный | Двухбуквенный код языка ISO 639-1 или пустая строка |
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/";
// Пример 1: Получение имени бота для языка по умолчанию
$response1 = getBotName();
if ($response1) {
echo "Имя бота (по умолчанию): " . $response1['name'] . "\n";
}
// Пример 2: Получение имени бота для конкретного языка
$languageCode = 'ru'; // Русский язык
$response2 = getBotName($languageCode);
if ($response2) {
echo "Имя бота для языка '{$languageCode}': " . $response2['name'] . "\n";
}
// Пример 3: Обработка ошибок
$invalidLanguage = 'invalid';
$response3 = getBotName($invalidLanguage);
if ($response3) {
echo "Имя бота для '{$invalidLanguage}': " . $response3['name'] . "\n";
} else {
echo "Не удалось получить имя бота для языка '{$invalidLanguage}'\n";
}
/**
* Получает текущее имя бота для указанного языка
*
* @param string|null $languageCode Двухбуквенный код языка ISO 639-1 или пустая строка
* @return array|null Массив с данными имени бота или null при ошибке
*/
function getBotName(?string $languageCode = null): ?array
{
global $apiUrl;
$params = [];
if ($languageCode !== null) {
$params['language_code'] = $languageCode;
}
$url = $apiUrl . 'getMyName';
if (!empty($params)) {
$url .= '?' . http_build_query($params);
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (curl_errno($ch)) {
error_log('CURL error: ' . curl_error($ch));
curl_close($ch);
return null;
}
curl_close($ch);
if ($httpCode !== 200) {
error_log("HTTP error: {$httpCode}");
return null;
}
$data = json_decode($response, true);
if (!$data || !$data['ok']) {
error_log('API error: ' . ($data['description'] ?? 'Unknown error'));
return null;
}
return $data['result'];
}
// Альтернативная реализация с использованием file_get_contents
function getBotNameSimple(?string $languageCode = null): ?array
{
global $apiUrl;
$url = $apiUrl . 'getMyName';
if ($languageCode !== null) {
$url .= '?language_code=' . urlencode($languageCode);
}
$context = stream_context_create([
'http' => [
'ignore_errors' => true,
'timeout' => 10
],
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false
]
]);
$response = @file_get_contents($url, false, $context);
if ($response === false) {
error_log('Failed to fetch data from API');
return null;
}
$data = json_decode($response, true);
if (!$data || !$data['ok']) {
error_log('API error: ' . ($data['description'] ?? 'Unknown error'));
return null;
}
return $data['result'];
}
// Пример использования с обработкой результата
$botNameData = getBotName('en');
if ($botNameData) {
echo "Bot Name: {$botNameData['name']}\n";
if (isset($botNameData['language_code'])) {
echo "Language Code: {$botNameData['language_code']}\n";
}
}
?>
python
import requests
def get_my_name(bot_token, language_code=None):
"""
Получает текущее имя бота для указанного языка пользователя.
Args:
bot_token (str): Токен вашего бота
language_code (str, optional): Двухбуквенный код языка ISO 639-1. По умолчанию None.
Returns:
dict: Ответ от Telegram API с информацией о имени бота
"""
url = f"https://api.telegram.org/bot{bot_token}/getMyName"
params = {}
if language_code:
params['language_code'] = language_code
response = requests.get(url, params=params)
return response.json()
# Пример использования
if __name__ == "__main__":
# Замените 'YOUR_BOT_TOKEN' на реальный токен вашего бота
BOT_TOKEN = 'YOUR_BOT_TOKEN'
# Пример 1: Получение имени бота для языка по умолчанию
result1 = get_my_name(BOT_TOKEN)
print("Имя бота (по умолчанию):", result1)
# Пример 2: Получение имени бота для русского языка
result2 = get_my_name(BOT_TOKEN, language_code='ru')
print("Имя бота (русский):", result2)
# Пример 3: Получение имени бота для английского языка
result3 = get_my_name(BOT_TOKEN, language_code='en')
print("Имя бота (английский):", result3)
История изменений
- API 6.7. Добавлен метод getMyName
Дополнительно
- BotName - Объект, содержащий имя бота Telegram.