Telegram Bot API — не срабатывает reply_markup

Есть самописный класс, обеспечивающий работу с Телеграмом.
Если упрощенно, то примерно такой:

PHP:
  1.   final private function http($url, $data=null, $method=‘POST’, $type=null, $headers=null)
  2.    {
  3.      
  4.      $this->store[‘error’] = null;
  5.      curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION, true);
  6.      curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true);
  7.      $hdr = [];
  8.      switch ($type)
  9.      {
  10.        case «application/json»:
  11.          $hdr[] = «Content-Type: {$type}; charset=utf-8″;
  12.          if (isset($data) && is_array($data)) $data = json_encode($data, JSON_NUMERIC_CHECK | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES );
  13.          break;
  14.        
  15.      }
  16.      
  17.      switch ($method)
  18.      {
  19.        case «GET»:
  20.          curl_setopt($this->curl, CURLOPT_HTTPGET, true);
  21.          if (isset($data)) $url .= ‘?’.$data;
  22.          break;
  23.        case «POST»:
  24.          curl_setopt($this->curl, CURLOPT_POST, true);
  25.          if (isset($data)) curl_setopt($this->curl, CURLOPT_POSTFIELDS, $data);
  26.          break;
  27.      }
  28.      curl_setopt($this->curl, CURLOPT_URL, $url);
  29.      $res = curl_exec($this->curl);
  30.      $ret = curl_getinfo($this->curl);
  31.      
  32.    }
  33.  
  34.    final public function sendMessage($chat, $message=null, $reply=null, $preview=null, $silent=null, $variants=null)
  35.    {
  36.      
  37.      $api = ‘…sendMessage’;
  38.      $params = [];
  39.      $params[‘chat_id’] = $chat;
  40.      
  41.      if (isset($variants)) $params[‘reply_markup’] = (is_string($variants) ? $variants : json_encode($variants));
  42.      $res = $this->http($api, $params, ‘POST’, ‘application/json’);
  43.      
  44.    }

Вызывается примерно так:

PHP:
  1.     $str = «…»;
  2.     $var = [];
  3.     foreach ()
  4.     {
  5.        
  6.         $var[] = [‘text’=>«{$id}«, ‘callback_data’=>«/task {$id}«];
  7.     }
  8.     $var = [[$var]];
  9.     $tlg->sendMessage($uid, $str, null, false, null, $var);

Но почему-то не работает.
Не поможете с детальным примерном, как отправить сообщение со списком ответов?

 

читай доку апи телеги… смотри как делается — смотри что ты шлешь…. в вашем классе самописном никто не будет разбираться

 

Спасибо, помогло.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *