telegram bot Как читать приходящие данные -- Контакт пользователя (contact), Инлайн запрос (inlineQuery)

Простейший вариант обработки telegram-bot-а на php, без использования сторонних библиотек.

В официальной документации Telegram API любезно описано, как бот может запросить контактный номер пользователя или передать inline-запрос с помощью кнопок, но предоставил нам самим догадываться, как же их получить/обработать.

Давайте разбираться.

Так мы получаем массив данных из request-а в контроллере, который предварительно настроен на приём данных от telegram API:

$result = json_decode($request->getContent(), true);

Получаем данные

Важно!
Дальше обязательно делаем проверку на наличие тех или иных элементов в массиве $result, потому что если элемент не существует, при обращении к нему (даже при проверке его на пустоту с помощью empty()) приложение "падает". Поэтому проверка, а внутри соответствующие массивы данных:

// Если из telegram приходит просто текстовое сообщение
if (isset($result["message"]["text"])) {
                $text = $result["message"]["text"]; // Текст сообщения
                $chatId = $result["message"]["chat"]["id"]; // Уникальный идентификатор пользователя
                $telegramId = $result["message"]["from"]["id"]; //Id пользователя в телеграме

                 // ...
// Если из telegram приходит контакт пользователя
} elseif (isset($result["message"]["contact"])) {
                $contact = $result["message"]["contact"]["phone_number"]; // Контактный телефон пользователя
                $chatId = $result["message"]["chat"]["id"]; // Уникальный идентификатор пользователя
                $telegramId = $result["message"]["from"]["id"]; //Id пользователя в телеграме
                    
                // ...
// Если из telegram приходит callbakQuery (например, при нажатии на inline_button)
} elseif (isset($result["callback_query"])){
                $callbackQueryData = $result["callback_query"]["data"]; //Данные колбэка
                $chatId = $result["callback_query"]["message"]["chat"]["id"]; //Уникальный идентификатор пользователя
                $telegramId = $result["callback_query"]["from"]["id"]; //Id пользователя в телеграме
                
                // ...
} else {
               // Сюда приложение никогда не попадёт
}