我在php中有telegram bot,我展示了自定义键盘的功能:
$replyMarkup = array(
'keyboard' => array(
array('/help')
)
);
$keyboard = json_encode($replyMarkup)
$this->client->request('POST', 'sendmessage', ['query' => ['chat_id' => $chatId, 'text' => $text, 'reply_markup' => $keyboard]]);
一切正常
我的问题是:有没有一种方法可以将键盘命令映射到不同的消息
所以在这种情况下,我想显示自定义键盘显示"帮助",然后点击发送/Help。
谢谢。
目前,自定义键盘的按钮只是消息的模板,所以"不,这是不可能的"。
使用InlineKeyboardMarkup可以解决这个问题。
C#的基本用法
public static InlineKeyboardMarkup TestInlineKeyboard { get; } = new InlineKeyboardMarkup
{
InlineKeyboard = new []{new[] {new InlineKeyboardButton("Text1","Data1"),
new InlineKeyboardButton("text1","data2")} }
};
其中"Text1"answers"Text1"是内联按钮上的标题,"Data1"answers"data2"是当用户单击内联按钮时,您的机器人将收到的回调查询文本。请注意,当用户点击内联按钮时,机器人不会向用户发送任何消息。如果您需要在那一刻发送任何消息,您可以通过编程来完成
警告:内联键盘目前正在测试中,尚未在频道中提供。现在,可以在一对一聊天或群聊中随意使用它们。但很高兴知道。
摘自此帖子。