diff --git a/src/TelegramBot.php b/src/TelegramBot.php index f8076c8..18e116f 100644 --- a/src/TelegramBot.php +++ b/src/TelegramBot.php @@ -1,4 +1,5 @@ getMessage()) { + $lang_code = $message->getFrom()->getLanguageCode(); + } elseif ($callback = $update->getCallbackQuery()) { + $lang_code = $callback->getFrom()->getLanguageCode(); + } elseif ($inline = $update->getInlineQuery()) { + $lang_code = $inline->getFrom()->getLanguageCode(); + } elseif ($chosen = $update->getChosenInlineResult()) { + $lang_code = $chosen->getFrom()->getLanguageCode(); + } elseif ($edited = $update->getEditedMessage()) { + $lang_code = $edited->getFrom()->getLanguageCode(); + } + + // If no language detected, fallback to default + if (empty($lang_code)) { + $lang_code = Language::getDefaultLanguage(); + } + + Language::set($lang_code); + return parent::processUpdate($update); } }