Telegram и простейший бот на PHP

Ну я пару книг прочитал по php принцип массивов понял, практики 0 понимания 0. Я так понял ставят Денвер и на нем используют php. Короче мне проще генератором, но для обучения лучше конечно самому пыхтеть.
Можете скинуть пример, что получилось или другой но с комментариями, я буду осваивать эту тему?
 
Бота которого я написал ?
 
Код:
<?php
header('Content-Type: text/html; charset=utf-8');
// подрубаем API
require_once("vendor/autoload.php");

// создаем переменную бота
$token = "53171407:pv_kciCh9OiaApbp04";
$bot = new \TelegramBot\Api\Client($token);

// если бот еще не зарегистрирован - регистрируем
if(!file_exists("registered.trigger")){
    /**
    * файл registered.trigger будет создаваться после регистрации бота.
    * если этого файла нет значит бот не зарегистрирован
    */
    
    // URl текущей страницы
    $page_url = "https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    $result = $bot->setWebhook($page_url);
    if($result){
        file_put_contents("registered.trigger",time()); // создаем файл дабы прекратить повторные регистрации
    }
}

//

$bot->command('ping', function ($message) use ($bot) {
        $bot->sendMessage($message->getChat()->getId(), 'pong!');
    });

// обязательное. Запуск бота
$bot->command('start', function ($message) use ($bot) {
    $answer = 'Бот на связи';
    $bot->sendMessage($message->getChat()->getId(), $answer);
});

// помощ
$bot->command('help', function ($message) use ($bot) {
    $answer = 'Это помощь';
    $bot->sendMessage($message->getChat()->getId(), $answer);
});

// помощ
$bot->command('pogoda', function ($message) use ($bot) {
    $weatherdata=file_get_contents('https://www.meteoprog.ua/data/weather/informer/Kharkiv.js?callback=meteoprog_informer_standart.add_meteoprog_data&dt=null');
    $weatherdata=str_replace('meteoprog_informer_standart.add_meteoprog_data(','',$weatherdata);
    $weatherdata=str_replace(');','',$weatherdata);

    $weather=json_decode($weatherdata);
  
$answer='Температура завтра: '.$weather->tomorrow_temp_min.'..'.$weather->tomorrow_temp_max;
    $bot->sendMessage($message->getChat()->getId(), $answer);
});

// запускаем обработку
if(!empty($bot->getRawBody())){
$bot->run();
}
На Денвере работать не будет, т.к. телеграм к нему не приконектится.
 
Лучше не придумаешь: Для просмотра ссылки Войди или Зарегистрируйся простая библиотека с гибкими настройками на нативном PHP с поддержкой всех методов.
 
Только с документацией все таки печальненько
 
Подскажите, я правильно понял, что без SSL бот не будет работать?
 
К сожалению и без vpn тоже не будет работать. Спасибо "роскомпозору" )
Откуда такие данные? Зачем писать такую чушь?
Всё прекрасно работает и работало без перебоев. Незначительные перебои были только у клиентов.
Как выше писали: главное SSL чтобы был.
В настоящее время 90% хостингов позволяют подключить сертификат в один клик от Let's Encrypt, либо можно самому получить сертификат от Let's Encrypt, что чуть сложнее, но выполнимо.
При этом почти все датацентры подключены напрямую к магистралям, без "провайдеров", поэтому у них нет ограничений к заблокированным РКП айпишникам.
 
Назад
Сверху