Telegram bot callback query php listener -
again, cant come out, have created inline buttons, when click 1 need listen wich 1 clicked in php, dont know how, i've looked on api not described good. not use external api, official telegram api.
can me out? cant working :(
code:
<?php include 'database.php'; $bottoken = 'a_token_here_you_may_not_see_it'; $website = 'https://api.telegram.org/bot' . $bottoken . ''; //$update = file_get_contents($website."/getupdates"); $content = file_get_contents("php://input"); $update = json_decode($content, true); $return = json_decode($update, true); // $chatid; $message; if (($update['message']) != null) { $chatid = $update["message"]["chat"]["id"]; $message = $update["message"]["text"]; $query3 = "select * registered_users userid= '$chatid'"; $result3 = $conn->query($query3); if (mysqli_num_rows($result3) > 0) { $row = mysqli_fetch_assoc($result3); $rayonsnew = explode(",", $row['rayons']); } else { $message = "errorgeentoegang374892517078923789054873975398753498"; } switch ($message) { case "/start": $message = "welkom bij de gs-media meldingen bot🤖.\n\ndeze bot bied momenteel de mogelijkheid om meldingen te ontvangen \nvan de im bergers. deze meldingen kunnen gefilterd worden op;\nrayon, type (ongeval, pech etc..) en tijd.\ner worden alleen meldingen ontvangen van de hoofdwegen.\n\nje kunt de bot instellen met de volgende opties⚙️.\n\n▪️ /nieuwrayon\nvoeg een nieuwe rayon toe.\n\n▪️ /verwijderrayon\nverwijder een rayon.\n\n▪️ /rayonmeldingen\nwijzig soort melding per rayon.\n\n▪️ /rayons\ntoon een lijst met actieve rayons\n\n➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖\n\ntijdelijk geen meldingen ontvangen? rechts boven in drie bolletjes -> profiel weergeven -> instellingen -> meldingen uit.\n\n➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖\n\nhttp://www.stichtingimn.nl/ongevallenradar/\n\nalle rechten voorbehouden aan \nstichting incident management nederland\n\n➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖\n"; sendmessage($chatid, $message); break; case "errorgeentoegang374892517078923789054873975398753498": sendmessage($chatid, "geen toegang!"); break; case "/rayons": sendmessage($chatid, "jouw gekozen rayons: " . implode(", ", explode(",", $row['rayons']))); break; case "/commands": sendmessage($chatid, "/rayons - laat al jouw rayons zien"); break; case "/verwijderrayon": sendmessage($chatid, "kies een rayon die je wil verwijderen"); break; case "/nieuwrayon": $keyboard = [ 'inline_keyboard' => [[['text' => "o74", 'callback_data' => "/o74"]], [['text' => "o75", 'callback_data' => "/o75"]]], ]; $markup = json_encode($keyboard, true); sendreplymessage("chat_id=" . $chatid . "&text=" . urlencode("kies een rayon") . "&reply_markup=" . $markup); break; default: sendmessage($chatid, "fout - error 1\n\nonbekende commando, typ /commands voor alle commando's"); } } else if ($update['callback_query'] != null) { $chatid = $update["callback_query"]["id"]; $message = $update["callback_query"]["message"]; switch($update['callback_query']['data']){ case "o75": sendmessage($chatid, "test"); break; default: sendmessage($chatid, "test2"); } } //file_get_contents($website."/sendmessage?chat_id=".$chatid."&text=test123"); //file_get_contents($website."/sendmessage?chat_id=152984448".$chatid."&text=test123465467380584930572389"); function sendreplymessage($websijt) { $url = $globals[website] . "/sendmessage?" . $websijt; file_get_contents($url); } function sendmessage($chatid, $message) { $url = $globals[website] . "/sendmessage?chat_id=" . $chatid . "&text=" . urlencode($message); file_get_contents($url); } ?>
in callback query, $update["callback_query"]["id"] not chat id, can use answercallbackquery method instead of sendmessage.
Comments
Post a Comment