Php телеграммы: проблема с callback_query - PullRequest
0 голосов
/ 23 сентября 2019

Я новичок на этом форуме, объяснение вполне понятно.Ниже я сообщил о простом коде, где у меня есть 3 кнопки онлайн, из которых: проверены url и switch_inline_query, а callback_data нет.Я разделил выбранное, если это тип сообщения или callback_query, но я все еще не могу попасть в условие, когда callback_query отличается от Null.Как я могу решить эту проблему?

define('url',"https://api.telegram.org/bot".$botToken);
$update= file_get_contents('php://input');
$update= json_decode($update, TRUE);
$keyboardexampleinline  = '[{"text":"Testo", "url":"www.google.it"},{"text":"Inline", "switch_inline_query":"Hello"}],[{"text":"Testo", "callback_data":"PrintMessage"}]';

if(isset($update['callback_query'])){
  $query = $update['callback_query'];
  $queryid = $query['id'];
  $queryUserId = $query['from']['id'];
  $querydata = $query['data'];
  switch($querydata){
    case "PrintMessage":
        sendMessage($queryUserId, "How are you?", $keyboardexampleinline);
        break;
  }
}

else if (isset($update['message'] )){
  $chatId= $update['message']['from']['id'];
  $nome = $update['message']['from']['first_name'];
  $text = $update['message']['text'];
  switch($text){
    case "/event":
        sendMessage($chatId, "Keyboard test Inline", $keyboardexampleinline);
        break;
  }
}

function sendMessage($chatId, $text, $keys){
  if(isset($keys)){
      $keyboard = '&reply_markup={"inline_keyboard":['.$keys.'],"resize_keyboard": true,"one_time_keyboard": true, "selective": true}';
  }
  $url= url."sendMessage?chat_id=$chatId&aparse_mode=HTML&text=".urlencode($text).$keyboard;

  file_get_contents($url);
}
...