2016-04-09 2 views
2

я получил телеграмму бот в PHP, и я показываю пользовательские клавиатуры делают:Телеграмма бот апите пользовательские клавиатуры сообщение

$replyMarkup = array(
     'keyboard' => array(
      array('/help') 
     ) 
); 

$keyboard = json_encode($replyMarkup) 

$this->client->request('POST', 'sendmessage', ['query' => ['chat_id' => $chatId, 'text' => $text, 'reply_markup' => $keyboard]]); 

Все работает правильно.
Мой вопрос: есть ли способ сопоставить команду клавиатуры с другим сообщением?
Итак, в этом случае я хочу показать пользовательскую клавиатуру, на которой отображается «Справка», и по щелчку send/help.

Спасибо.

+2

Нет. Нет. – fusion3k

ответ

2

На данный момент пользовательские кнопки на клавиатуре - это просто шаблоны для сообщений, поэтому «Нет, это невозможно».

0

Использование InlineKeyboardMarkup может решить эту проблему.

Основы использования для C#

public static InlineKeyboardMarkup TestInlineKeyboard { get; } = new InlineKeyboardMarkup   
    { 
     InlineKeyboard = new []{new[] {new InlineKeyboardButton("Text1","Data1"),  
             new InlineKeyboardButton("text1","data2")} } 
    };  

где «Text1» и «text1» является надписи на кнопках инлайн, «Data1» и «data2» является CallbackQuery текст, который бот делате, когда пользователь щелкает рядный кнопка. Обратите внимание, что бот не отправляет сообщение пользователю, когда он нажимает кнопку встроенного ввода. Если вам нужно отправить какое-либо сообщение в этот момент, вы можете сделать это программно.
Внимание: встроенные клавиатуры в настоящее время тестируются и пока недоступны в каналах. Пока не стесняйтесь использовать их в чатах или группах один на один. но очень хорошо знать.

Произведено с this post.

+0

Ссылки на потенциальные решения всегда приветствуются, но, пожалуйста, добавьте некоторые подробности для будущих посетителей, если ссылка больше не доступна. –

Смежные вопросы