• Почему Telegram bot API метод answerCallbackQuery не показывает алерт?

    nastya97core
    @nastya97core
    Начинающий программист
    попробуй вот это:
    $tg = json_decode(file_get_contents('php://input'), true);
    function tlgrm($method, $data, $client) {
      $data["chat_id"] = $client;
      $data["parse_mode"] = "html";
      $ch = curl_init("https://api.telegram.org/---токен---/$method");
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
      curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
      $r = json_decode(curl_exec($ch), true);
      curl_close($ch);
      return $r;
    }
     
    $client = $tg['callback_query']['from']['id'];
    $cb_id = $tg['callback_query']['id'];
    tlgrm('answerCallbackQuery', ['callback_query_id'=> $cb_id, 'text' => 'СООБЩЕНИЕ', 'show_alert' => true],$client);

    создай php файл, засунь туда этот код и установи на него webhook.
    Ответ написан
    4 комментария
  • Почему Telegram bot API метод answerCallbackQuery не показывает алерт?

    maximw
    @maximw Автор вопроса
    Проблема была в библиотеке, которую я использовал https://github.com/php-telegram-bot/core
    Если получать апдейты из телеграма при помощи метода этой библиоткеи handleGetUpdates(), то библиотека сама отправляет пустые ответы на CallbackQuery.
    Получается, что я пытался ответить на тот же CallbackQuery еще раз, ответ от Телеграма приходит - ОК, а реально Телеграм обрабатывал только первый ответ, который автоматически слала библиотека.
    Ответ написан
    Комментировать