#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. Этот метод используется для изменения сообщения, например, удаления клавиатуры, добавления новых кнопок и т. Д.