Как определить язык пользователя в Telegram
При разработке мультиязычного бота для Telegram возникает вопрос, на каком языке отвечать пользователю в начале диалога. Оказывается, узнать это достаточно просто: в сообщениях (объект Message) есть поле from. Оно представляет собой объект User, где имеется поле language_code, в котором и лежит код языка, выставленный у пользователя в настройках.
Итоговый код на PHP будет выглядеть примерно так:
Итоговый код на PHP будет выглядеть примерно так:
$updates = $bot->getUpdates();
foreach ($updates as $item) {
$language = $item['message']['from']['language_code'];
if ($language==='ru') $response = 'Привет!';
else $response = 'Hello!';
$bot->sendMessage($response,$item['message']['chat']['id']);
}
<?php
require_once("vendor/autoload.php"); // API telegram-bot
$token = "<token>";
$bot = new \TelegramBot\Api\Client($token,null);
$updates = $bot->getUpdates();
if(!empty($bot->getRawBody())){
$bot->run();
}
?>
Бот не отвечает.
Что может быть?