Но пример на PHP у них какой то излишне академический для php, решил немного исправить это недоразумение. PHP язык без понтов, и писать на нем надо как хочешь, а не по учебнику. Итак, как создать бота telegram на php:
1 Для начала стучимся к @BotFather пишем ему имя бота которого хотим сделать и если имя не занято получаем key вида 241451777:ВВE69UDm9bo3vgM7pbВВВВaCFyLEWаbSk
2 у ся на хостинге создаем файл bot.php и прописываем там вот такое
<?php $botkey = '241451777:ВВE69UDm9bo3vgM7pbВВВВaCFyLEWаbSk'; //key полученный от botfather $webhook = "https://".$_SERVER['HTTP_HOST']."/".$_SERVER['REQUEST_URI']; $sendto = "https://api.telegram.org/bot$botkey/setWebhook?url=".urlencode($webhook); echo file_get_contents($sendto);
Запускаем скрипт, видим что то типа “Webhook was set”
3 стираем этот код и пишем другой
<?php $botkey = '241451777:ВВE69UDm9bo3vgM7pbВВВВaCFyLEWаbSk'; //key полученный от botfather $content = file_get_contents("php://input"); $update = json_decode($content, true); $chatID = $update["message"]["chat"]["id"]; if (!$chatID) die("no"); $msg = "Нажмите на ссылку"; $replyMarkup['keyboard'][] = array("Ссылка раз","Ссылка два"); $replyMarkup['keyboard'][] = array("Ссылка три"); $replyMarkup['keyboard'][] = array("Все взорвать 😅"); if (substr_count($update["message"]["text"],'Ссылка раз')) { $msg = "Тут текст который видит юзер если нажмет кнопку 1"; } if (substr_count($update["message"]["text"],'Ссылка раз')) { $msg = "Тут текст который видит юзер если нажмет кнопку 1"; } $sendto ="https://api.telegram.org/bot$botkey/sendmessage?parse_mode=HTML&chat_id=".$chatID."&text=".urlencode($msg)."&disable_web_page_preview=true&reply_markup=".json_encode($replyMarkup); file_get_contents($sendto); ?>
Теперь пишем нашему боту в телеге и видим
Красота! Если нажать на “Ссылка раз” то сработает условие “if (substr_count($update[“message”][“text”],’Ссылка раз’))” ну в целом понятно.
Как это можно использовать? Можно поднимать целые сайты и сервисы внутри телеграмма. Это проще, не надо парится с версткой и главное кроссплатформенно, на мобиле сидит больше людей чем за компами.