Как скрыть встроенный ввод текста в Telegram-боте?

#php #telegram #telegram-bot

#php #telegram #telegram-бот

Вопрос:

Я использую следующую библиотеку PHP для создания Telegram-бота. Я хочу показать кнопки без встроенного поля ввода. введите описание изображения здесь

Я пытаюсь использовать метод editMessageReplyMarkup с пустым объектом reply_markup, но это не помогает.

 <?php

require_once __DIR__ ."/vendor/autoload.php";

try {
    $bot = new TelegramBotApiClient('***');
    
    $bot->command('start', function ($message) use ($bot) {

        $keyboard = new TelegramBotApiTypesReplyKeyboardMarkup([
            [
                ['text' => 'One', 'callback_data' => "one"],
                ['text' => 'Two', 'callback_data' => "two"],
            ]
        ], true, true);


        $bot->sendMessage($message->getChat()->getId(), "Choose the number", null, false, null, $keyboard);
        $bot->editMessageReplyMarkup($message->getChat()->getId(), $message->getMessageId(), []);
    });

   $bot->run();

} catch (TelegramBotApiException $e) {
    $e->getMessage();
}
 

Комментарии:

1. Итак, вы пытаетесь отправлять обычные кнопки, а не встроенные?

2. @0stone0 Я бы хотел удалить текстовое поле «Написать сообщение …» и отобразить только кнопки

3. Я не думаю, что вы можете удалить поле «текст», это часть приложения. Не могли бы вы поделиться скриншотом желаемого результата?

4. Если это API, который вы получаете с Github, у вас есть исходный код. Возможно, вы можете отредактировать поле из источника библиотеки. В качестве альтернативы, не могли бы вы запустить какой-нибудь JS, который скрывает поле на основе его идентификатора?

5. Этот метод используется для изменения сообщения, например, удаления клавиатуры, добавления новых кнопок и т. Д.